繁体   English   中英

在详细路由上使用权限类

Using a permission class on a detail route

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

如何仅将权限类应用于详细路由?

class EventViewSet(viewsets.ModelViewSet):

    @detail_route(methods=['post'])
    def messages(self, request, pk=None):
        ### Check a permissions class.
        ...
3 个回复

更新 1

从 DRF 3.8 开始, detail_route装饰器已替换为action装饰器。

class EventViewSet(viewsets.ModelViewSet):
    @action(permission_classes=[permissions.PermissionClass_], methods=['post'])
    def messages(self, request, pk=None):
        # your view code

原帖

您基本上可以通过执行以下操作来添加权限:

class EventViewSet(viewsets.ModelViewSet):
    @detail_route(
        permission_classes=[
            permissions.PermissionClass_],
        methods=['post'])
    def messages(self, request, pk=None):
        ### Check a permissions class.
        ...

如果您在 ViewSet 中的自定义操作中的 permissions_classes 有问题,请尝试在您的操作上使用此装饰器。 可能最新的 Django Rest Framework 没有考虑权限。 这种情况的解决方案是在每个自定义操作开始时自己检查它或使用以下装饰器:

def check_permissions(fun):
    def ref(self, request, pk=None):
        obj = get_object_or_404(self.get_queryset(), pk=pk)
        self.check_object_permissions(self.request, obj)

        return fun(self, request, pk)

    return ref

在 django rest 3.8 中,详细路线已被弃用,以支持动作路线,因此现在看起来像这样。

from rest_framework.decorators import api_view, permission_classes

class EventViewSet(viewsets.ModelViewSet):

    @action(
        methods=['post'],
        detail=True,
        permission_classes=[YourPermission]
        url_path='messages')
    def messages(self, request, pk=None):
        return Response("200", status=200)
1 使用权限创建路由

我正在尝试使用权限和条件重定向用户,但我不知道为什么我的重定向无法正常工作。 我创建了这些路线: //not auth <Route path="/" exact component={Login} /> //auth with admin permission <Route ...

4 使用权限属性

我可能只是把这个概念弄错了,但是我仍然认为我应该问: 我试图找到在Win2008中创建新的本地用户组所需的特定权限。 我遍历了System.DirectoryServices.AccountManagement命名空间,并声明了所需的权限: 当这些权限之一被拒绝时(即进入方法时) ...

5 使用权限Android

在AndroidManifest.xml中,我添加了所有uses-permission,现在我想删除不需要的权限。 我不使用相机或震动。.我只使用简单的功能ajax,我使用Internet从服务器提取数据,并且使用本地存储,因此我想知道不应删除的使用权限。 ...

7 使用权限设置,权限

我正在尝试使用UsageStatsManager。 我知道我应该包括在内。 <user-permission android:label="PACKAGE_USAGE_STATS" tools:ignore="ProtectedPermissions"/> 。 我还开始为 ...

8 清单和使用权限

我有一个要构建的Android项目(之前从未在Android上部署过任何东西)。 项目生成无法正常工作。 instant-run AndroidManifest.xml进入<application>标记<uses-permission>标记。 哪种方法行不通-谷歌文 ...

9 Realm Studio-使用权限

好奇是否可以从Realm Studio中编辑ROS领域的权限。 示例-我有一个全局领域(例如/ globalRealm),并希望允许所有用户写入该领域。 这可以通过以管理员身份登录的Realm Studio执行吗? 谢谢! ...

2018-01-12 17:08:01 1 101   realm
10 检查哪些代码使用权限

我最近更改了一个应用程序以定位Marshmallow,如您所知,我现在需要处理Marshmallow权限模型。 该应用程序有很多文件和数千行代码。 除了蛮力方式,即 关闭权限并使用应用程序,注意异常发生的位置 是否有更有效的方法来找出api调用的哪些行请求某些权限,以便它们可 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM