RBAC权限控制

为什么要进行权限控制?

因为一个系统需要的不同级别,当没有权限控制,你的所有功能完全不设防,这是不符合要求的,也是不合理的?

怎么进行权限控制?

1.先定义资源

定义受保护的资源,比如你的handler方法,service方法,一些静态资源等

2.创建权限

一个一个控制太复杂了,也太麻烦了。所以可以直接创建权限,给这个权限操作某些资源的权力,然后可以把这个权限授予给某个人

3.创建角色

比如创建管理员角色,赋予它增删改查的权力,让他能够管理普通用户。在比如创建普通用户角色,赋予它查的权力,让他能够查看资源。

4.管理用户

5.建立关联关系

权限→资源:单向多对多

Java 类之间单向:从权限实体类可以获取到资源对象的集合,但是通过资 源获取不到权限

数据库表之间多对多: 一个权限可以包含多个资源 一个资源可以被分配给多个不同权限

角色→权限:单向多对多

Java 类之间单向:从角色实体类可以获取到权限对象的集合,但是通过权 限获取不到角色

数据库表之间多对多: 一个角色可以包含多个权限 一个权限可以被分配给多个不同角色

用户→角色:双向多对多

Java 类之间双向:可以通过用户获取它具备的角色,也可以看一个角色下 包含哪些用户

数据库表之间: 一个角色可以包含多个用户 一个用户可以身兼数职。

 

RBAC权限模型

1.概念:

鉴于权限控制的核心是用户通过角色与权限进行关联,所以前面描述的权限控制系 统可以提炼为一个模型:RBAC(Role-Based Access Control,基于角色的访问控制)。 在 RBAC 模型中,一个用户可以对应多个角色,一个角色拥有多个权限,权限具体 定义用户可以做哪些事情

2.RBAC分级:

RBAC0-RBAC3

3.RBAC框架

主要是SpringSecurity和shiro

shiro是轻量级的,SpringSecurity是重量级的,功能更多。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值