我目前正在使用Django开发Python工具,需要导入现有的用户数据库。很明显,这些现有用户的密码与Django使用的默认密码加密不同。
我想要覆盖密码方法的加密方式,以保持我的密码不变。我在文档中没有找到如何覆盖现有方法的信息,只找到了如何添加有关用户的信息(如果有人知道如何删除有关用户的信息,例如名字或姓氏,请告诉我)。
谢谢你的帮助。
我目前正在使用Django开发Python工具,需要导入现有的用户数据库。很明显,这些现有用户的密码与Django使用的默认密码加密不同。
我想要覆盖密码方法的加密方式,以保持我的密码不变。我在文档中没有找到如何覆盖现有方法的信息,只找到了如何添加有关用户的信息(如果有人知道如何删除有关用户的信息,例如名字或姓氏,请告诉我)。
谢谢你的帮助。
settings.py
中(文档)。PASSWORD_HASHERS
的底部,则会发生以下情况。如果尝试登录的用户的密码是使用您的自定义方法存储的,则Django将尝试第一个哈希器,但会失败。然后它将尝试其余的哈希,它们都会失败,除了您的自定义哈希器。但是,由于用户已经成功验证,并且成功的哈希器不是第一个哈希器,因此Django将自动使用第一个定义的哈希器重新对密码进行哈希。通过这种方式,您可以在用户继续登录时优雅地升级为更安全的哈希算法。User
模型,而不是使用Django的模型。