创建了超级用户,jwt可以返回token,但admin和drf登录不上了,是什么原因?
来源:7-7 vue和jwt接口调试
Hayley_L
2018-12-28
创建了超级用户,jwt可以返回token,但admin和drf登录不上了,是什么原因?显示用户名密码不正确
2回答
-
weixin_慕容3335726
2020-09-09
遇到了同样的问题 ,前端可以登录,但是admin和drf登录不上.百度了一下没找到答案。
查资料的时候有一点引起了我的注意:'AUTHENTICATION_BACKENDS'默认使用'django.contrib.auth.backends.ModelBackend'进行验证。
但是在教程里并没有将这一条写入到settings中,我记得老师有说过 Django的验证方式是自上而下逐一验证,因此我两个猜想:
由于未指定'django.contrib.auth.backends.ModelBackend',在CustomBackend进行验证并返回数据后,验证流程结束
自定义的CustomBackend 仅能对前端传送来的username 和password 进行了处理,admin登录时缺少必要的参数~例如is_staff 和 permission ???,而前端并不需要这些参数,所以出现了前端能登录,admin和drf无法登录的情况(刚学没多长时间,源码看的稀里糊涂,如果老师能看到希望能解答下)
对此我做了个尝试,添加'django.contrib.auth.backends.ModelBackend'
AUTHENTICATION_BACKENDS = [ 'django.contrib.auth.backends.ModelBackend', 'XXXXXX.views.CustomBackend', ]
对前端,admin 和drf进行登录测试,问题解决~
012020-09-10 -
bobby
2019-01-01
是不是没有设置 is_staff和is_active字段为true?
00
Python前后端分离开发Vue+Django REST framework实战
2906 学习 · 2491 问题
相似问题
回答 1
回答 2