在django drf中,经过身份验证的用户可以使用令牌访问其他用户数据吗? 我知道它不应该,但在我的应用程序中它不会发生。 为了测试我在postman中使用了令牌,但是当我看到使用一个用户令牌时,我很惊讶我可以通过更改url中的PK来访问任何其他用户数据。 当我在互联网上研究这个时,我找不到任何明确的答案。 可能是我错误地使用了令牌身份验证方法......
但我的主要问题是: 如果我有一个用户令牌,那么只需更改url中的pk,我是否应该能够获取其他用户数据?如果是这样,怎么避免呢?
(注意:我目前没有使用HTTPS。) (这也是一个概念性的问题,所以在得到答案后我可能需要提出另一个关于我的代码中的错误的问题;我会。但请提供答案)
答案 0 :(得分:1)
如果您发送用户数据的视图只有权限类isAuthenticated,那么可以预期这种行为。 您需要做的是实现另一个权限isOwner,它检查用户要求数据是否是其所有者。
答案 1 :(得分:0)
没有。如果发生这种情况,则意味着您以错误的方式实施身份验证。
确保将authentication scheme设为'rest_framework.authentication.TokenAuthentication'
并在您的INSTALLED_APPS
中添加'rest_framework.authtoken'