RABC权限控制模型(概念)

建立关联关系

权限 -> 资源

单向多对多

java类之间单向:从 权限 实体类可以获取到 资源 对象的集合,但是通过 资源 获取不到权限
数据库表之间多对多:
一个 权限 可以包含多个 资源
一个 资源 可以分配给多个不同 权限

角色 -> 权限

单向多对多

用户 -> 角色

双向多对多

java类之间双向:可以通过用户获取它具备的角色,也可以看一个角色下包含哪些用户
数据库表之间多对多:
一个角色可以包含多个用户
一个用户可以身兼数职

多对多在数据库建中间表

select t_student.id,t_student.name from t_student left join t_inner on t_student.id = t_inner.student_id left join t_subject on t_inner.subject_id = t_subject.id where t_subject.id = 1

中间表的主键生成方式

方式一:另外的设置一个字段作为主键
方式二:使用联合主键,没有id字段,两个字段同时设置为主键,联合主键组成的组合不能重复。主键值(1,1)(1,2)(2,1)(2,2) 当再次出现(1,1),mysql报错。

RBAC模型控制

核心:用户通过角色和权限进行关联
Role-Based Access Control (基于角色的访问控制)

RABC0
RABC1:子角色C继承父角色P 和RABC2
静态责任分离:
互斥角色,用户只能被分配到一组互斥角色中的一个角色
先决条件角色:用户向拥有B角色必须先拥有A角色,从而保证用户拥有Y权限的前提是拥有X权限。
动态责任分离:
用户登录系统时生效。一个用户身兼数值,在特定场景下激活特定角色
RABC3

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值