Apache-Shiro CacheManager整合Redis提高性能

释放双眼,带上耳机,听听看~!

控制流程图

Apache-Shiro CacheManager整合Redis提高性能

背景

  • 授权的时候每次都去查询数据库,对于频繁访问的接口,性能和响应速度比较慢,所以使用缓存

添加依赖


1
2
3
4
5
6
7
8
1<!-- shiro+redis缓存插件 -->  
2<dependency>
3  <groupId>org.crazycake</groupId>
4   <artifactId>shiro-redis</artifactId>
5   <version>3.1.0</version>
6</dependency>
7
8

 配置

Apache-Shiro CacheManager整合Redis提高性能

由控制图可以看出,所有组件都是由securityManager管理的,所以必须将CacheManager配置到SecurityManager中

Apache-Shiro CacheManager整合Redis提高性能

原有问题

Apache-Shiro CacheManager整合Redis提高性能

解决:在自定义CustomRealm中修改

  • doGetAuthorizationInfo 方法


1
2
3
4
1原有String username = (String)principals.getPrimaryPrincipal();  
2User user = userService.findAllUserInfoByUsername(username);  
3改为:
4

Apache-Shiro CacheManager整合Redis提高性能

  • doGetAuthenticationInfo方法

原有return new SimpleAuthenticationInfo(username, user.getPassword(), this.getClass().getName());

改为:

Apache-Shiro CacheManager整合Redis提高性能

 

源码地址:https://github.com/woxbwo/is-rbac-shiro-service/tree/master/src/main/java/com/is/shiro/service/config

完成!!!

转载于:https://www.cnblogs.com/woxbwo/p/11421696.html

给TA打赏
共{{data.count}}人
人已打赏
安全运维

OpenSSH-8.7p1离线升级修复安全漏洞

2021-10-23 10:13:25

安全运维

设计模式的设计原则

2021-12-12 17:36:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索