首页 > 解决方案 > BasicAuthentication 在检查权限时不对用户进行身份验证

问题描述

我想使用 DRF 使用rest_framework.authentication.BasicAuthentication开发服务器开发我的 SPA,同时使用来自本地运行的后端的数据。

我包括rest_framework.authentication.BasicAuthentication settings.py. 我有一个需要权限(guardian.mixins.PermissionRequiredMixin)的视图:

class WidgetDetail(PermissionRequiredMixin, RetrieveAPIView):
    serializer_class = WidgetSerializer
    permission_required = "widget.view_widget"
    return_403 = True

如果我尝试GET使用基本身份验证的小部件,视图返回错误 403。使用调试器,我可以看到PermissionRequiredMixin.check_permissions()运行时是 AnonymousUser,而不是DRF 文档所指示request.user的基本身份验证提供的用户。

为什么在检查权限时无法识别基本身份验证提供的用户?

标签: djangodjango-rest-frameworkdjango-guardian

解决方案


推荐阅读