RCBA概念
RBAC 是基于角色的访问控制(Role-Based Access Control )在 RBAC 中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。
Django内置的6张表
auth_user表
auth_group表
auth_permission表
auth_user_groups
auth_group_permissions
auth_user_user_permissions
实现过程
1、前端请求登录,成功后端返回token,失败返回404.
2、前端请求获取用户信息,根据用户信息中的权限信息,进行判断路由及按钮权限判断
3.前端请求其他接口,后端先验证登录状态,再验证用户权限。
4、依据角色,例如:admin,common,leader等。给不同角色分配不同的权限。
5、根据用户的岗位及职责分配角色,使不同角色具有不同的权限
6、用户请求后端接口时,验证用户权限,通过就放行。
Model自定义实现RBCA
class Users(AbstractUser):
role = models.ManyToManyField(to='Role'