如何编写一个Mixin来检查登录用户是否有权访问某些模型实例

Trinchet

我想编写一个Mixin(或使用第三方)来检查登录的用户是否是某些对象的所有者。

url(r'^api/mymodel/(?P<pk>\d)/?', CreateUpdateMyModel.as_view(), name='create_or_update')


class MyModel(models.Model):
    owner = models.OneToOneField('auth.User')


class OwnerRequired(SingleObjectMixin):
    # do this self.object = self.get_object() for getting the object 
    # 

    # some logic for checking if request.user == self.object.owner
    # otherwise return something like Response(status=status.HTTP_403_FORBIDDEN)

SingleObjectMixin对我来说,继承自我很重要,因为我希望能够执行以下操作:

class CreateUpdateMyModel(APIView, OwnerRequired):

    model = MyModel

    def post(self, request, *args, **kwargs):
        # self.object should be available here
        # so that write some code taking it into account

OwnerRequired应该如何实现呢?

我愿意接受另一种选择,实际上,我已经PermissionRequiredMixin从django-braces中进行了检查,我想使用它,但是我不确定该怎么做

 permission_required = ??  # I can code a method for, but how can I pass the model instance and the request.user?

还有另一种简单的选择吗?

汤姆·克里斯蒂

看一下对象级别的权限该页面上的示例部分中还有一个相关示例-请参见IsOwnerOrReadOnly示例

还要注意,对象级权限仅运行以下两种方式之一:

  • 您正在使用它的GenericAPIView或子类,并调用get_object()以检索实例。
  • self.check_object_permissions(request, instance在视图代码中显式调用

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

c#-如何检查当前登录的用户是否有权访问Sharepoint 2013中的页面

来自分类Dev

首页> C#>如何检查当前登录的用户是否有权访问Sharepoint 2013中的页面

来自分类Dev

检查用户是否有权访问对象

来自分类Dev

如何根据用户的角色检查用户是否有权访问页面

来自分类Dev

Spring Security-如何检查用户是否有权访问自己的资源?

来自分类Dev

在 Django Admin 中仅有权修改模型的一个字段的用户

来自分类Dev

制定一个mysqli查询,列出列出具有单独表的组,以确定用户是否有权访问视图组

来自分类Dev

制定一个mysqli查询,该查询列出了具有单独表的组,这些表用于确定用户是否有权访问视图组

来自分类Dev

Gnu / Linux命令列出所有有权访问一个文件夹的用户

来自分类Dev

检查用户是否有权访问实体的最佳方法是什么

来自分类Dev

检查用户是否有权访问Yii RBAC中的操作

来自分类Dev

检查用户是否有权访问实体的最佳方法是什么

来自分类Dev

Angular-无法获得当前用户的警卫角色来检查他/她是否有权访问受保护的路由

来自分类Dev

如何 - 编写一个程序来检查一个数是否至少有一个相等的相邻数

来自分类Dev

如何检查登录用户名,而不是象Facebook这样的php中的一个字段

来自分类Dev

如何使用Takeown来拥有一个驱动器上所有文件夹的所有权?

来自分类Dev

有权访问门户的用户列表

来自分类Dev

编写一个 xpath 来检查几行(td)是否具有特定值

来自分类Dev

将文件所有权从一个用户更改为第一个用户控制的另一个用户

来自分类Dev

如何检查基本类型列表是否至少包含某些子类型的一个实例

来自分类Dev

如何从另一个登录用户启动一个登录用户内部的应用程序?

来自分类Dev

为什么允许rm删除另一个用户所有权下的文件?

来自分类Dev

我正在尝试编写一个查询来检查策略是否有 0 个过时的记录

来自分类Dev

为什么每个登录用户都拥有一个“ systemd”进程?

来自分类Dev

如何使用Firebase的'verifyPhoneNumber()'来确认电话#的所有权而不使用#登录?

来自分类Dev

Laravel,登录用户以提出一个请求

来自分类Dev

如何获取登录用户 ID 并插入到 PHP 中的另一个表

来自分类Dev

如何使用boto3在aws中检查s3访问密钥是否有权访问特定存储桶

来自分类Dev

如何检查谁有权访问SQL Server中的对称密钥

Related 相关文章

  1. 1

    c#-如何检查当前登录的用户是否有权访问Sharepoint 2013中的页面

  2. 2

    首页> C#>如何检查当前登录的用户是否有权访问Sharepoint 2013中的页面

  3. 3

    检查用户是否有权访问对象

  4. 4

    如何根据用户的角色检查用户是否有权访问页面

  5. 5

    Spring Security-如何检查用户是否有权访问自己的资源?

  6. 6

    在 Django Admin 中仅有权修改模型的一个字段的用户

  7. 7

    制定一个mysqli查询,列出列出具有单独表的组,以确定用户是否有权访问视图组

  8. 8

    制定一个mysqli查询,该查询列出了具有单独表的组,这些表用于确定用户是否有权访问视图组

  9. 9

    Gnu / Linux命令列出所有有权访问一个文件夹的用户

  10. 10

    检查用户是否有权访问实体的最佳方法是什么

  11. 11

    检查用户是否有权访问Yii RBAC中的操作

  12. 12

    检查用户是否有权访问实体的最佳方法是什么

  13. 13

    Angular-无法获得当前用户的警卫角色来检查他/她是否有权访问受保护的路由

  14. 14

    如何 - 编写一个程序来检查一个数是否至少有一个相等的相邻数

  15. 15

    如何检查登录用户名,而不是象Facebook这样的php中的一个字段

  16. 16

    如何使用Takeown来拥有一个驱动器上所有文件夹的所有权?

  17. 17

    有权访问门户的用户列表

  18. 18

    编写一个 xpath 来检查几行(td)是否具有特定值

  19. 19

    将文件所有权从一个用户更改为第一个用户控制的另一个用户

  20. 20

    如何检查基本类型列表是否至少包含某些子类型的一个实例

  21. 21

    如何从另一个登录用户启动一个登录用户内部的应用程序?

  22. 22

    为什么允许rm删除另一个用户所有权下的文件?

  23. 23

    我正在尝试编写一个查询来检查策略是否有 0 个过时的记录

  24. 24

    为什么每个登录用户都拥有一个“ systemd”进程?

  25. 25

    如何使用Firebase的'verifyPhoneNumber()'来确认电话#的所有权而不使用#登录?

  26. 26

    Laravel,登录用户以提出一个请求

  27. 27

    如何获取登录用户 ID 并插入到 PHP 中的另一个表

  28. 28

    如何使用boto3在aws中检查s3访问密钥是否有权访问特定存储桶

  29. 29

    如何检查谁有权访问SQL Server中的对称密钥

热门标签

归档