mirror of
https://github.com/jazzband/django-axes.git
synced 2026-05-12 01:23:11 +00:00
added a signal for when a user gets locked out
This commit is contained in:
parent
9682a39528
commit
2b77673336
2 changed files with 9 additions and 1 deletions
|
|
@ -24,6 +24,7 @@ except ImportError:
|
|||
from datetime import datetime
|
||||
|
||||
from axes.models import AccessAttempt, AccessLog
|
||||
from axes.signals import user_locked_out
|
||||
import axes
|
||||
|
||||
# see if the user has overridden the failure limit
|
||||
|
|
@ -239,6 +240,8 @@ def log_access_request(request, login_unsuccessful):
|
|||
|
||||
def check_request(request, login_unsuccessful):
|
||||
log_access_request(request, login_unsuccessful)
|
||||
ip_address = request.META.get('REMOTE_ADDR', '')
|
||||
username = request.POST.get('username', None)
|
||||
failures = 0
|
||||
attempts = get_user_attempts(request)
|
||||
|
||||
|
|
@ -293,7 +296,9 @@ def check_request(request, login_unsuccessful):
|
|||
# password
|
||||
logout(request)
|
||||
log.warn('AXES: locked out %s after repeated login attempts.' %
|
||||
(attempt.ip_address,))
|
||||
(ip_address,))
|
||||
# send signal when someone is locked out.
|
||||
user_locked_out.send(request=request, username=username)
|
||||
|
||||
# if a trusted login has violated lockout, revoke trust
|
||||
for attempt in [a for a in attempts if a.trusted]:
|
||||
|
|
|
|||
3
axes/signals.py
Normal file
3
axes/signals.py
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
from django.dispatch import Signal
|
||||
|
||||
user_locked_out = Signal(providing_args=['request', 'username'])
|
||||
Loading…
Reference in a new issue