From d72676710a541f97350101ee6fe2947bb58f3e0c Mon Sep 17 00:00:00 2001 From: Tim Lorsbach Date: Sat, 25 Jul 2026 22:13:06 +0200 Subject: [PATCH] auth log leftovers --- epauth/views.py | 12 ++---------- epdb/views.py | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/epauth/views.py b/epauth/views.py index e21d6cdd..a75fe9ac 100644 --- a/epauth/views.py +++ b/epauth/views.py @@ -9,9 +9,11 @@ from django.shortcuts import redirect from epdb.logic import UserManager, GroupManager from epdb.models import Group +from epdb.views import get_remote_address auth_log = logging.getLogger("auth") + def get_msal_app_with_cache(request): """ Create MSAL app with session-based token cache. @@ -31,16 +33,6 @@ def get_msal_app_with_cache(request): return msal_app, cache -def get_remote_address(request): - remote_address = "" - - if request is not None: - remote_address = request.META.get("HTTP_X_FORWARDED_FOR") - - if not remote_address: - remote_address = request.META.get("REMOTE_ADDR", "") - - return remote_address def entra_login(request): diff --git a/epdb/views.py b/epdb/views.py index 647248fb..ac232490 100644 --- a/epdb/views.py +++ b/epdb/views.py @@ -72,6 +72,18 @@ def log_post_params(request): logger.debug(f"{k}\t{v}") +def get_remote_address(request): + remote_address = "" + + if request is not None: + remote_address = request.META.get("HTTP_X_FORWARDED_FOR") + + if not remote_address: + remote_address = request.META.get("REMOTE_ADDR", "") + + return remote_address + + def get_error_handler_context(request, for_user=None) -> Dict[str, Any]: current_user = _anonymous_or_real(request) @@ -219,11 +231,18 @@ def login(request): if user is not None: login(request, user) + if user.is_superuser: + auth_log.error(f"admin ({user.username}) login attempt by {get_remote_address(request)} successful") + if next := request.POST.get("next"): return redirect(next) return redirect(reverse("index")) else: + if _user := User.objects.get(email=email): + if _user.is_superuser: + auth_log.error(f"admin ({_user.username}) login attempt by {get_remote_address(request)} failed") + context["message"] = "Login failed!" return render(request, "static/login.html", context) else: