Wig Admin Admin双因素身份验证

时间:2017-09-09 19:22:18

标签: wagtail

是否可以将2fa身份验证添加到Wagtail管理员登录页面。

2 个答案:

答案 0 :(得分:1)

是的 - Wagtail管理员登录页面使用Django的内置身份验证框架,因此可以为Django合并任何各种2FA包,例如django-otp。如果您需要使用自定义视图替换登录页面,则可以通过在urls.py中为r'^admin/login/$'定义URL路由来执行此操作,并确保将其放在r'^admin/'的路由上方。

您还可以使用YubiKey设备查看wagtail-yubikey,这是一个Wagtail特定的解决方案。

答案 1 :(得分:0)

是的!带着一点点的朦胧。我的意思是,登录屏幕现在是一个简单的引导程序,而不是漂亮的wagtail。但是,这将为您提供大量选项,例如使用Google身份验证器。这就是我的所作所为:

此外:

  • 在Wagtail帐户模板{% url 'two_factor:profile' %}中添加了/templates/wagtailadmin/account/account.html的链接,以便用户进行管理。
  • 在Django双因素个人资料模板/templates/two_factor/profile/profile.html中添加了一个回到管理员的链接,b / c它只是将人员转储到管理界面。
  • 在网址中,添加了以下内容:

    from two_factor.admin import AdminSiteOTPRequired
    from two_factor.views import LoginView
    
    admin.site.__class__ = AdminSiteOTPRequired
    # btw, AdminSiteOTPRequired will only lock the django admin in to a 
    # mandatory requirement, but not Wagtail and needs further work
    
    
    urlpatterns += [
        url(r'', include('user_sessions.urls', 'user_sessions')),
        url(r'', include('two_factor.urls', 'two_factor')),
        url(r'^admin/login/$',
            view=LoginView.as_view(), name='login'
           ),
        url(r'^admin/', include(wagtailadmin_urls)),  
    ]
    
  • 设置中的
  • LOGIN_REDIRECT_URL = '/admin/'

  • 新用户被发送到/account/login/?next=/account/two_factor/setup/