RBAC权限分配

RABC:基于角色的权限访问控制(Role-Based Access Control

一般在登录系统认证通过后,会先确定的该用户的操作权限,判断用户的后续操作是否合法!

RABC至少需要三张表:用户表--角色表--权限表(多对多的关系比较合理)

用户表:用来存储用户名和密码,进行登录校验,可以重写User表,使用django内置的auth认证系统,也可自定义;

角色表:对用户角色进行分配,

权限表:存储所有需要进行权限分配的url请求路径

 

RBAC权限分配操作过程

用户登录,通过用户表校验用户名和密码

登录成功,记录用户登录状态,同时查询(通过用户关联的权限表)记录当前用户的权限(可以记录在djangosession表)

访问认证,对每个url的请求事先进行登录状态和权限的验证(可以放在中间件的process_request中,注意设置相应的放行白名单)

 

posted @ 2019-07-21 23:24  笑得好美  阅读(508)  评论(0编辑  收藏  举报