rest-farmework权限设置

需求:会员可以有对物品的所有权限,游客只有看的权限。

实现: 通过观看rest-farmework源码。

创建类 UserProfile

class UserProfile(models.Model):

    user = models.OneToOneField(User,on_delete=models.CASCADE,primary_key=True)

    role = models.CharField(choices=UserProfile_Role_Choices,default='admin',max_length=255)

    created_at = models.DateTimeField(auto_now_add=True)

    updated_at = models.DateTimeField(auto_now=True)

自定义增加字段 role 通过role的值判断权限

创建权限类:

class CustomPermissonClass(rest_framework.permissions.AllowAny):

    def has_permission(self, request, view):

        user_id = request.user.id

        role = UserProfile.objects.filter(user_id=user_id)[0].role

        if role == "test":

            if request.method in ['GET',]:  # 模仿rest farmework的权限设置 通过请求方式来控制权限

                return True

        else:

            return True

        return False

最后导入setting中。大工告成。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,860评论 18 139
  • 那么问题来了?以前的我,还是个人吗? 文字:茶小科 主题:自在独行 01 当两个生气的人相互对骂,最常见的一句就是...
    茶小科阅读 563评论 0 2
  • 今天有翻出杨绛先生的《我们仨》,发现附录里面满满的记录了女儿跟他们的书信,都是拍成图片的,想着将来能留给孩子的有什...
    孙瑞华阅读 430评论 0 0