【问题标题】:Use Oauth2 token in my classview to allow some user access only his own user data?在我的类视图中使用 Oauth2 令牌以允许某些用户仅访问他自己的用户数据?
【发布时间】:2018-04-03 09:52:49
【问题描述】:

我使用令牌在移动应用中检索用户数据。但是......如果一个用户已经过身份验证可以访问另一个用户的数据......我如何限制只有自己的用户令牌访问模型用户中自己的用户数据? (对不起我的英语不好)

【问题讨论】:

  • 请提供最少的代码示例并更具体地描述问题

标签: django authentication oauth restrict


【解决方案1】:

这对我有用:

class Prueba(viewsets.ModelViewSet):
    serializer_class = UserSerializer
    permission_classes = (IsAuthenticated,)
    def get_queryset(self):
        queryset = User.objects.all().filter(username=self.request.user)
        return queryset

【讨论】:

    【解决方案2】:

    我用它来检索用户信息...现在我在权限类中使用 IsAuthenticated 和有效的 oauth2 令牌,但我希望只有该有效令牌的用户才能访问 UserDetail 视图集

    class UserDetail(viewsets.ReadOnlyModelViewSet):
        queryset = User.objects.all()
        serializer_class = UserSerializer
        lookup_field = 'username' 
        permission_classes = (IsAuthenticated,)
    

    【讨论】:

      猜你喜欢
      • 2022-07-05
      • 2017-10-29
      • 2012-05-26
      • 1970-01-01
      • 2019-01-13
      • 1970-01-01
      • 1970-01-01
      • 2019-09-24
      • 2014-06-15
      相关资源
      最近更新 更多