一、后端部分

1. models设计

实现:特定角色拥有访问特定url路径,角色关联用户,以此来控制用户的访问。

如:管理员:可以访问所有的url地址,甲关联了管理员,则甲拥有访问所有url地址的权限,普通用户:只拥有访问查看数据(查看某个页面)的url地址,乙关联普通用户,乙就只拥有普通用户的权限

2.models实现

class Permission(models.Model):
    url = models.CharField(max_length=64, verbose_name='权限')
    title = models.CharField(max_length=32, verbose_name='标题')

    def __str__(self):
        return self.title

    class Meta:
        verbose_name_plural = '权限管理'


class Role(models.Model):
    name = models.CharField(max_length=32, verbose_name='角色')
    permissions = models.ManyToManyField(Permission, verbose_name='角色拥有的权限', blank=True)

    def __str__(self):
        return self.name

    class Meta:
        verbose_name_plural = '角色管理'


class User(models.Model):
    username = models.CharField(max_length=32, verbose_name='用户名', unique=True)
    password = models.CharField(max_length=32, verbose_name='密码')
    roles = models.ManyToManyField(Role, verbose_name='用户的角色', blank=True)

    def __str__(self):
        return self.username

    class Meta:
        verbose_name_plural = '用户管理'
models.py

相关文章:

  • 2021-10-16
  • 2021-07-09
  • 2021-04-06
  • 2022-12-23
  • 2022-12-23
  • 2021-12-11
  • 2021-09-12
  • 2022-01-27
猜你喜欢
  • 2022-02-08
  • 2022-12-23
  • 2022-12-23
  • 2021-07-17
  • 2022-02-05
  • 2022-12-23
  • 2022-02-08
相关资源
相似解决方案