Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
django axes未捕获失败的登录尝试,但捕获管理员失败的尝试_Django_Authentication - Fatal编程技术网

django axes未捕获失败的登录尝试,但捕获管理员失败的尝试

django axes未捕获失败的登录尝试,但捕获管理员失败的尝试,django,authentication,Django,Authentication,我使用的是Django轴,使用的步骤与github上的自述文件中描述的完全相同。我能够通过django视图很好地登录和注销,但如果通过主网站,则不会捕获任何失败的登录尝试。尽管如此,从管理员站点失败的登录尝试仍然可以很好地捕获。我使用的是FailedLoginMiddleware,与管理员无关。我已经仔细检查了所有设置和配置,但仍然无法找到问题的根源。请帮忙 MIDDLEWARE_CLASSES = ( 'django.middleware.common.CommonMiddleware

我使用的是Django轴,使用的步骤与github上的自述文件中描述的完全相同。我能够通过django视图很好地登录和注销,但如果通过主网站,则不会捕获任何失败的登录尝试。尽管如此,从管理员站点失败的登录尝试仍然可以很好地捕获。我使用的是FailedLoginMiddleware,与管理员无关。我已经仔细检查了所有设置和配置,但仍然无法找到问题的根源。请帮忙

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'axes.middleware.FailedLoginMiddleware',
)

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'axes',
    'django.contrib.admin',
)
以下是项目URL.py:

from django.conf.urls.defaults import patterns, include, url
from django.contrib.auth.views import login, logout, password_change 

from qs.forms import ValidatingPasswordChangeForm

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    (r'^login/$', login, {'template_name': 'auth/login.html'}),
    (r'^logout/$', logout, {'redirect_field_name': '/login', 
                            'template_name': 'auth/logged_out.html'}),
    (r'^passw_change/$', password_change, 
                           {'post_change_redirect': '/rage', 
                            'template_name': 'auth/password_change.html',
                            'password_change_form': ValidatingPasswordChangeForm}),

    (r'^passw_reset/$', 'views.rage_password_reset'),
    (r'^passw_reset/done/', 'views.rage_password_reset_done'),
    (r'^passw_reset/(?P<uidb36>[0-9A-Za-z]+)-(?P<token>.+)/$', 'views.rage_password_reset_confirm'),
    (r'^passw_reset/complete/$', 'views.rage_password_reset_complete'),

    url(r'^$', 'be.views.main.index'),
    url(r'^admin/', include(admin.site.urls)),
)
来自django.conf.url.defaults导入模式,包括url
从django.contrib.auth.views导入登录、注销、密码更改
从qs.forms导入ValidatingPasswordChangeForm
从django.contrib导入管理
admin.autodiscover()
urlpatterns=模式(“”,
(r'^login/$',login,{'template_name':'auth/login.html'}),
(r“^logout/$”,logout,{'redirect'字段\名称':'/login',
'template_name':'auth/logged_out.html'}),
(r“^passw\u change/$”,密码更改,
{'post\u change\u redirect':'/rage',
“模板名称”:“auth/password\u change.html”,
“密码更改形式”:验证密码更改形式}),
(r“^passw\u reset/$”,“views.rage\u password\u reset”),
(r“^passw\u reset/done/”,“views.rage\u password\u reset\u done”),
(r“^passw_reset/(?P[0-9A-Za-z]+)-(?P.+)/$”,“views.rage_password_reset_confirm”),
(r“^passw\u reset/complete/$”,“views.rage\u password\u reset\u complete”),
url(r'^$','be.views.main.index'),
url(r“^admin/”,包括(admin.site.url)),
)

我想不出您的配置不起作用的任何原因-我使用django Axis,我的设置与您的设置完全相同,工作正常。但是,可以通过执行以下操作强制轴记录所有内容:

  • settings.py中的
    axes.middleware.FailedLoginMiddleware更改为
    axes.middleware.FailedAdminLoginMiddleware
    。(
    FailedAuthLoginMiddleware
    显然不适合您,所以不要使用它。)

  • 编辑您的
    url.conf

    ...
    from django.contrib.auth.views import login, logout, password_change
    from axes.decorators import watch_login
    ...
    urlpatterns = patterns('',
        (r'^login/$', watch_login(login), {'template_name': 'auth/login.html'}),
    ...
    

  • 这将迫使Axis记录尝试-这样做也可能会让我们了解最初的问题是什么。

    我想不出你的配置不起作用的任何原因-我使用django Axis,我的设置与你的设置完全相同,工作正常。但是,可以通过执行以下操作强制轴记录所有内容:

  • settings.py中的
    axes.middleware.FailedLoginMiddleware更改为
    axes.middleware.FailedAdminLoginMiddleware
    。(
    FailedAuthLoginMiddleware
    显然不适合您,所以不要使用它。)

  • 编辑您的
    url.conf

    ...
    from django.contrib.auth.views import login, logout, password_change
    from axes.decorators import watch_login
    ...
    urlpatterns = patterns('',
        (r'^login/$', watch_login(login), {'template_name': 'auth/login.html'}),
    ...
    

  • 这将迫使Axis记录尝试-这样做也可能会揭示最初的问题。

    我也遇到了同样的问题,userena正在捕获登录。将如上所述的“watch_login”添加到userna中的登录URL中修复了该问题

    我也遇到了同样的问题,userena正在捕获登录名。将如上所述的“watch_login”添加到userna中的登录URL中修复了该问题

    尝试通过将
    print
    放入
    django axes>axes>middleware.py>类FailedAuthLoginMiddleware(对象):>def uuu init_uu(self,*args,**kwargs):
    尝试通过将
    print
    放入
    django axes>axes>middleware.py>类FailedAuthLoginMiddleware(对象):>def u init进行调试__(self,*args,**kwargs):
    非常感谢这个指针。显然,项目中的其他应用程序也在从django.contrib.auth调用登录视图,我不知道为什么它会干扰我实际想要处理的url。无论如何,非常感谢,即使它是一个间接指针。非常感谢这个指针。显然,项目中的其他应用程序e project也在从django.contrib.auth调用登录视图,我不知道为什么它会干扰我实际想要处理的url。无论如何。非常感谢,即使它是一个间接指针。