From 476d3f52bc3482a3d781dcd42d5b27d674267606 Mon Sep 17 00:00:00 2001 From: Maksim Zayakin Date: Thu, 4 May 2023 14:42:42 +0500 Subject: [PATCH] chore: use get_lockout_parameters in handlers --- axes/handlers/cache.py | 6 ++++-- axes/handlers/database.py | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/axes/handlers/cache.py b/axes/handlers/cache.py index f5de9b6..49574d2 100644 --- a/axes/handlers/cache.py +++ b/axes/handlers/cache.py @@ -11,6 +11,7 @@ from axes.helpers import ( get_client_username, get_credentials, get_failure_limit, + get_lockout_parameters, ) from axes.models import AccessAttempt from axes.signals import user_locked_out @@ -78,9 +79,10 @@ class AxesCacheHandler(AbstractAxesHandler, AxesBaseHandler): return username = get_client_username(request, credentials) - if settings.AXES_ONLY_USER_FAILURES and username is None: + lockout_parameters = list(get_lockout_parameters(request, credentials)) + if lockout_parameters == ["username"] and username is None: log.warning( - "AXES: Username is None and AXES_ONLY_USER_FAILURES is enabled, new record will NOT be created." + "AXES: Username is None and username is the only one lockout parameter, new record will NOT be created." ) return diff --git a/axes/handlers/database.py b/axes/handlers/database.py index 4e4dc67..b3553bc 100644 --- a/axes/handlers/database.py +++ b/axes/handlers/database.py @@ -18,6 +18,7 @@ from axes.helpers import ( get_client_username, get_credentials, get_failure_limit, + get_lockout_parameters, get_query_str, ) from axes.models import AccessLog, AccessAttempt, AccessFailureLog @@ -164,9 +165,10 @@ class AxesDatabaseHandler(AbstractAxesHandler, AxesBaseHandler): return # 2. database query: Get or create access record with the new failure data - if settings.AXES_ONLY_USER_FAILURES and username is None: + lockout_parameters = list(get_lockout_parameters(request, credentials)) + if lockout_parameters == ["username"] and username is None: log.warning( - "AXES: Username is None and AXES_ONLY_USER_FAILURES is enabled, new record will NOT be created." + "AXES: Username is None and username is the only one lockout parameter, new record will NOT be created." ) else: with transaction.atomic():