我想创建扩展 AbstractUser 的自定义用户,但是当我想要进行身份验证时,我的自定义用户会返回无。
当我创建CustomUser()存储在数据库中但passwowrd未加密。我可以使用banckend默认的身份验证功能吗?或者我必须为我的自定义用户创建自定义后端。
我补充说:
AUTH_USER_MODEL = 'mysite.customuser'
我认为扩展AbstractUser,我的班级没有相同的方法或什么是错的
答案 0 :(得分:0)
解决!
问题不在于扩展AbstracUser,问题出在我保存用户的时候, CustomUser(用户名=' myusername',密码=' mypassword'),密码保存为纯文本,de function authenticate()无法使用此功能。
必须保存用户使用UserCreationForm,或者扩展它,最重要的是save()方法,因为使用set_password()方法设置加密密码,因此authenticate()方法有效。