首页 > Web开发 > 详细

Apache-Shiro CacheManager整合Redis提高性能

时间:2019-08-28 09:36:21      阅读:105      评论:0      收藏:0      [点我收藏+]

控制流程图

技术分享图片

背景

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

添加依赖

<!-- shiro+redis缓存插件 -->

<dependency>   <groupId>org.crazycake</groupId> <artifactId>shiro-redis</artifactId> <version>3.1.0</version> </dependency>

 配置

技术分享图片

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

技术分享图片

原有问题

技术分享图片

解决:在自定义CustomRealm中修改

  • doGetAuthorizationInfo 方法
原有String username = (String)principals.getPrimaryPrincipal();
User user = userService.findAllUserInfoByUsername(username);
改为:

技术分享图片

  • doGetAuthenticationInfo方法

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

改为:

技术分享图片

 

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

完成!!!

Apache-Shiro CacheManager整合Redis提高性能

原文:https://www.cnblogs.com/woxbwo/p/11421696.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!