我最近在这里问了一个有关Django双重身份验证的问题... Django Two Factor Authentication。根据收到的反馈,我正在尝试将其部署到我的项目中。我已经阅读了基本的安装说明,但是我还不太清楚如何在我的项目中使用它。
我已经通过...安装了它
pip install django-two-factor-auth
然后将其添加到我的settings.py文件中...
INSTALLED_APPS = (
...
'django_otp',
'django_otp.plugins.otp_static',
'django_otp.plugins.otp_totp',
'two_factor',
)
我已将其添加到我的settings.py文件中...
from django.core.urlresolvers import reverse_lazy
LOGIN_URL = reverse_lazy('two_factor:login')
# this one is optional
LOGIN_REDIRECT_URL = reverse_lazy('two_factor:profile')
我已将其添加到我的urls.py文件中...
urlpatterns = patterns(
'',
url(r'', include('two_factor.urls', 'two_factor')),
...
)
我正在通过以下导入从django.contrib.auth.views中使用LoginView ...
from django.contrib.auth.views import LoginView
此后,我将其从two_factor更改为LoginView的子类,如下所示:
from two_factor.views import LoginView
然后,在我的项目目录中设置一个two_factor / _base.html文件...
但是当我输入用户名和密码的初始凭据时,会收到以下消息...
SuspiciousOperation at /project/login/
ManagementForm data is missing or has been tampered.
我不确定是否有更详细的说明可用...但是我已经遵循了那里的内容,似乎无法弄清楚如何进行下去...
出于记录,我试图找出如何在用户登录时合并两因素身份验证,然后他们必须输入一个密码作为示例。我还试图在注册时强制用户将其设置为强制登录方法。现在我意识到我正在使用的LoginView不正确。我需要弄清楚在用户最初注册时如何正确设置此设置。
不确定下一步要去哪里。预先感谢您的任何想法。
答案 0 :(得分:0)
经过大量的试验和错误...我发现我需要更新我的settings.py文件以解决伪造的网关,并且我需要合并日志记录代码以打开信息消息... < / p>
这是我引用的页面的链接...
https://django-two-factor-auth.readthedocs.io/en/stable/configuration.html
一旦我将下面的代码添加到settings.py文件中,我就能启动并运行2FA ...
TWO_FACTOR_CALL_GATEWAY = 'two_factor.gateways.fake.Fake'
TWO_FACTOR_SMS_GATEWAY = 'two_factor.gateways.fake.Fake'
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
},
},
'loggers': {
'two_factor': {
'handlers': ['console'],
'level': 'INFO',
}
}
}