0

目前我正在使用 Django 创建一个 webbackend,其中管理是使用 KeyCloak 完成的。

使用 KeyCloak,我可以为用户分配特定角色(例如客户、订阅客户)。

客户和订阅客户具有不同的权限。(例如在电影行业,只有订阅客户可以观看所有电影而普通客户不能观看)每部电影都有一个端点。

如何在缺少权限的情况下使此端点无法访问?

4

1 回答 1

0

您必须在用户模型中创建一个 user_type 字段

 ACCESS_CHOICES = (
        ('subscriber', 'subscriber'),
        ('non-subscribe', 'non-subscribe')
    )

user_type = models.CharField(choices=ACCESS_CHOICES, max_length=15)

创建一个自定义权限类并将其放入您的视图中

class MoviesAccessPermssion(permissions.BasePermission):
    def has_permission(self, request, view):
        return True or False #on base of request.user.user_type
于 2019-12-19T12:07:21.943 回答