mirror of
https://github.com/jazzband/django-axes.git
synced 2026-03-16 22:30:23 +00:00
92 lines
2.8 KiB
Python
92 lines
2.8 KiB
Python
from django.conf import settings
|
|
from django.utils.translation import gettext_lazy as _
|
|
|
|
from appconf import AppConf
|
|
|
|
|
|
class AxesAppConf(AppConf):
|
|
# disable plugin when set to False
|
|
ENABLED = True
|
|
|
|
# see if the user has overridden the failure limit
|
|
FAILURE_LIMIT = 3
|
|
|
|
# see if the user has set axes to lock out logins after failure limit
|
|
LOCK_OUT_AT_FAILURE = True
|
|
|
|
# lock out with the combination of username and IP address
|
|
LOCK_OUT_BY_COMBINATION_USER_AND_IP = False
|
|
|
|
# lock out with username and never the IP or user agent
|
|
ONLY_USER_FAILURES = False
|
|
|
|
# lock out just for admin site
|
|
ONLY_ADMIN_SITE = False
|
|
|
|
# lock out with the user agent, has no effect when ONLY_USER_FAILURES is set
|
|
USE_USER_AGENT = False
|
|
|
|
# use a specific username field to retrieve from login POST data
|
|
USERNAME_FORM_FIELD = "username"
|
|
|
|
# use a specific password field to retrieve from login POST data
|
|
PASSWORD_FORM_FIELD = "password" # noqa
|
|
|
|
# use a provided callable to transform the POSTed username into the one used in credentials
|
|
USERNAME_CALLABLE = None
|
|
|
|
# reset the number of failed attempts after one successful attempt
|
|
RESET_ON_SUCCESS = False
|
|
|
|
DISABLE_ACCESS_LOG = False
|
|
|
|
HANDLER = "axes.handlers.database.AxesDatabaseHandler"
|
|
|
|
LOGGER = "axes.watch_login"
|
|
|
|
LOCKOUT_TEMPLATE = None
|
|
|
|
LOCKOUT_URL = None
|
|
|
|
COOLOFF_TIME = None
|
|
|
|
VERBOSE = True
|
|
|
|
# whitelist and blacklist
|
|
NEVER_LOCKOUT_WHITELIST = False
|
|
|
|
NEVER_LOCKOUT_GET = False
|
|
|
|
ONLY_WHITELIST = False
|
|
|
|
IP_WHITELIST = None
|
|
|
|
IP_BLACKLIST = None
|
|
|
|
# message to show when locked out and have cooloff enabled
|
|
COOLOFF_MESSAGE = _(
|
|
"Account locked: too many login attempts. Please try again later"
|
|
)
|
|
|
|
# message to show when locked out and have cooloff disabled
|
|
PERMALOCK_MESSAGE = _(
|
|
"Account locked: too many login attempts. Contact an admin to unlock your account."
|
|
)
|
|
|
|
# if your deployment is using reverse proxies, set this value to 'left-most' or 'right-most' per your configuration
|
|
PROXY_ORDER = "left-most"
|
|
|
|
# if your deployment is using reverse proxies, set this value to the number of proxies in front of Django
|
|
PROXY_COUNT = None
|
|
|
|
# if your deployment is using reverse proxies, set to your trusted proxy IP addresses prefixes if needed
|
|
PROXY_TRUSTED_IPS = None
|
|
|
|
# set to the names of request.META attributes that should be checked for the IP address of the client
|
|
# if your deployment is using reverse proxies, ensure that the header attributes are securely set by the proxy
|
|
# ensure that the client can not spoof the headers by setting them and sending them through the proxy
|
|
META_PRECEDENCE_ORDER = getattr(
|
|
settings,
|
|
"AXES_META_PRECEDENCE_ORDER",
|
|
getattr(settings, "IPWARE_META_PRECEDENCE_ORDER", ("REMOTE_ADDR",)),
|
|
)
|