[英]how to select user from auth_user django python for given username and hashed password
我正在创建一个python api,如果在数据库中找到了电子邮件和密码,但是会对该密码进行哈希处理,它将从mysql数据库返回数据,这是他们可以哈希从api输入的密码并将其与mysql密码进行比较的任何方式。
我正在使用django.contrib.auth创建新用户,这些用户自动在包含哈希密码的数据库中创建了表auth_user。
我知道一个解决方案是将未加密的密码存储在另一个表中,但是可以在不创建另一个密码字段的情况下完成此操作吗?
我搜索了很多,但找不到任何解决方案。
您可以使用authenticate
。 无需您自己对密码进行哈希处理,Django已经做到了。 您只需要传递用户名和密码即可验证功能,它将返回相应的User对象。
def my_view(request):
username = request.POST['username']
password = request.POST['password']
user = authenticate(request, username=username, password=password)
您也可以使用check_password
。 django中的每个用户都有此方法。 它将自动对其进行哈希处理并将其与之前保存的内容进行比较:
user.check_password(raw_password)
希望能帮助到你!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.