美文网首页
rest-farmework权限设置

rest-farmework权限设置

作者: 王峰芝 | 来源:发表于2018-03-20 10:31 被阅读0次

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

实现: 通过观看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中。大工告成。

相关文章

网友评论

      本文标题:rest-farmework权限设置

      本文链接:https://www.haomeiwen.com/subject/uqevqftx.html