Rbac权限模型表设计
rbac呢,一个基于角色的权限控制,模型的核心功能是在用户和权限之间加入了一个角色的概念,不把用户和权限直接关联,就是把用户和权限进行解耦嘛。用户关联角色。。。角色关联权限。来间接的控制用户权限( ̄︶ ̄)↗
- 找了个图,大概就是这个结构
权限表:
假设我们有一个接口/add ,那么在数据库中这个uri就要有一个对应的权限数据,uri就对应权限对象的uri;
命名示例:
权限id:id:xxx
请求uri:uri:/add
权限名:name:add
权限标识符:tag:add
角色表:
有了权限,我们就可以把这个权限分配给一个指定的角色,一个角色可以有多个权限;我们定义一个角色表
,创建多个角色
示例:
角色表:
角色d: id:xxx
角色名称: role_name:admin
角色说明: remark:adminadminadmin
角色权限表:
我们有了角色以后,然后就可以通过一个角色权限表
来关联这个角色拥有哪些权限
示例:
角色权限表:
角色id: role_id: xxx
权限id: auth_id: xxx
用户表:
创建一个用户表用来保存用户信息,包含用户基本信息,unam&pwd等等
示例:
角色权限表:
用户id: user_id: xxx
用户名: user_name: xxx
真名: real_name: xxx
密码: pwd_hash: xxx
创建日期: created: xxx
是否可用: is_usable: xxx
是否锁定: is_lock: xxx
是否过期: is_expired: xxx
正式是否过期: car_is_expired: xxx
用户角色表
拥有了角色表
和用户表
以后我们就可以用一张用户角色表
里来将用户和角色关联起来,给用户赋予角色
角色权限表:
用户id: user_id: xxx
角色id: role_id: xxx
ʅ(´◔౪◔)ʃ - - 这个就是权限表的填写方式