django-axes与自定义用户模型

时间:2015-06-13 13:48:24

标签: django django-authentication

我一直在努力将 django-axes 纳入我正在使用自定义用户模型的项目中。最后,我得到了这个几乎工作。我说“差不多”因为没有显示任何错误,但不幸的是django-axes 没有捕获失败的登录尝试

事实上,它在管理员中显示用户已登录(因此,用户永远不会注销)。我想我在这里得到了完全相同的问题:Django-axes not working with custom login view

我会告诉你我的代码的一些部分,所以也许你可以对这个问题有所了解。 感谢提前

urls.py

from axes.decorators import watch_login
from apps.main.views import userLogin
urlpatterns = patterns(‘',

    url(r'^login/$', watch_login(userLogin), name="login"),

views.py

    from axes.decorators import watch_login

    @watch_login
    def userLogin(request):
        if request.method == "POST":
            if 'login_form' in request.POST:
                username = request.POST.get('username', '')
                password = request.POST.get('password', '')
                user = authenticate(username=username, password=password)
                if user is not None: # The user exists, credentials OK
                    if user.is_active:
                        login(request, user) # Log the user
                        if not request.POST.get('rememberUser', None): 
                            request.session.set_expiry(3600) 
                    else:
                        return redirect('users_app:disabled_account')
                else:
                    return redirect('users_app:login_failed')
        return redirect('main_app:index')

    def LogOut(request):
        logout(request)
        return redirect('/‘)

    class IncorrectLoginView(TemplateView):
        template_name = 'users/login_failed.html'

base.py

MIDDLEWARE_CLASES = (
   'da_tracker.middleware.TrackerMiddleware',
)

0 个答案:

没有答案
相关问题