Scr*_*eer 6 python django django-rest-framework
我使用PSA在Django上验证了我的用户并让用户在用户模型中注册,甚至令牌模型都注册了用户和令牌.
但是当我发送此请求时:
curl -X POST -H "Authorization:Token 87e939184457ccc064485444a90e3ebf417xxxxx" http://192.168.x.x:8000/user-profiles/>error.html
Run Code Online (Sandbox Code Playgroud)
我明白了
{"detail":"您无权执行此操作."}
如果我寄这个:
curl -X POST --user "VedantDasSwain:87e939184457ccc064485444a90e3ebf417xxxxx" http://192.168.x.x:8000/user-profiles/>error.html
Run Code Online (Sandbox Code Playgroud)
我明白了
{"detail":"用户名/密码无效"}
这些是我的设置文件中的相关代码段:
'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAuthenticated',
'rest_framework.permissions.IsAdminUser',),
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.BasicAuthentication',
'rest_framework.authentication.SessionAuthentication',
'rest_framework.authentication.TokenAuthentication',
),
Run Code Online (Sandbox Code Playgroud)
这是PSA设置的一部分:
AUTHENTICATION_BACKENDS = (
'social.backends.facebook.FacebookOAuth2',
'django.contrib.auth.backends.ModelBackend',
)
Run Code Online (Sandbox Code Playgroud)
有没有人遇到过这种类型的东西?这是什么解决方案?
我的印象是这个元组意味着用户要么经过身份验证,要么是管理员。
'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAuthenticated',
'rest_framework.permissions.IsAdminUser',)
Run Code Online (Sandbox Code Playgroud)
但是,我从元组中删除了“rest_framework.permissions.IsAdminUser”,然后它给了我正确的结果
curl -X POST -H "Authorization:Token 87e939184457ccc064485444a90e3ebf417xxxxx" http://192.168.x.x:8000/user-profiles/>error.html
Run Code Online (Sandbox Code Playgroud)
我不知道为什么会这样。这几乎是一个侥幸修复。如果有人知道为什么会这样,请告诉我
| 归档时间: |
|
| 查看次数: |
1736 次 |
| 最近记录: |