django从2.0.13升级到2.1.0后,包括manage.py changepassword在内,用户认证总是失败。

问题描述 投票:1回答:1

我有一个用Django写的网站,最近从Django 1.11.28升级到2.2.12。自从升级后,所有的用户认证都失败了。日志中没有错误信息显示,好像每个人的密码都变了。

升级前已登录的用户仍然可以登录。但是,一旦他们注销,就无法再登录。

奇怪的是,我可以用manage.py重新设置超级用户的密码,但用新密码登录还是失败。

我注意到Django 2.0版本文档中提到,在djano.contrib.auth中:"PBKDF2密码哈希的默认迭代次数从36000次增加到100000次"。我想我可能要改变它的设置,或者要求大家重新设置密码,但在使用manage.py重置管理员密码没有成功后,我不再相信这是问题所在。

是否有我遗漏的新设置?

你可以在这里重现这个问题。 https:/github.comshadytradesmanthe-contract-sitetree32ea6578800f648679f1af55a962858b931bf81a。

网站应该很容易在本地运行 :)

EDIT: 在做了更多的测试之后,我发现这个问题是在Django 2.0.13和2.1.0版本之间引入的。

django python-3.x django-authentication django-users django-2.2
1个回答
0
投票

我找到了问题所在! 问题发生在2.0.13和2.1.0之间。这是由我使用的一个应用程序django-user-accounts引起的。将这个库从2.0.1升级到3.0.2后,问题就解决了 :)

© www.soinside.com 2019 - 2024. All rights reserved.