Shiro3-授权

授权

1.1 角色

  • 类似于计算机上的组,不同的组权限个数都不同
image-20201002190837592

不同的用户属于不同的组,对应不同的权限个数

image-20201002190807681

在shiro框架里就是这个roles

image-20201002191030797
  • 角色表role

image-20201002191250494

  • 中间表
image-20201002191301458
  • 权限表

image-20201002191309886

  • 一个用户具有一个角色

加一个角色id的主键即可,一对一

image-20201002191506353

  • 一个用户具有多个角色

要再加一张用户角色表,一对多

image-20201002191652076

1.2 格式

  • 数据库里权限就这么写:user:update

  • 不同的用户有着多个不同的角色,不同角色对应着不同的权限

image-20201002192531827

  • 这个人(a)是否是这个角色
image-20201003164451954
  • check方法,没有指定角色会抛异常,无返回值(不建议使用)
image-20201003164811596
  • 判断权限

也有两种方法,不过check没啥用,一般用的都是检查有没有

image-20201003190636124

  • 具体到对某个用户的权限(一般用不到,太细致了)

正常是省略:*的,意思为对所有用户的权限

image-20201003191633656

如果具体到某个用户,一号角色只对1号用户有查询权限

image-20201003192016912

则a用户只对1号用户有查询权限,对2号就没有,返回false

image-20201003192038004

1.3 数据库查询-自定义Realm实现返回授权信息

  • 如果是查询数据库中用户的权限

image-20201003192939740

  • 怎么知道这个人是谁,从认证信息中的principles来获取

image-20201003193132299

image-20201003193242876

  • 从数据库查出来填进集合中,这里跟前面一样没连数据库,写个伪代码模拟一下

image-20201003193657311

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值