当前位置: 首页 > news >正文

制作相册书龙岩网站优化

制作相册书,龙岩网站优化,免费下载ppt模板网站推荐,wordpress能建论坛吗shiro整合redis 前言:shiro默认的session是存储在jvm内存中的,这样会导致java服务内存占用更大以及一旦服务器宕机或者版本迭代需要重启服务时,缓存中的数据不能恢复,导致用户需要重新登录认证,体验很差。因此利用第三…

shiro整合redis

前言:shiro默认的session是存储在jvm内存中的,这样会导致java服务内存占用更大以及一旦服务器宕机或者版本迭代需要重启服务时,缓存中的数据不能恢复,导致用户需要重新登录认证,体验很差。因此利用第三方服务作为缓存十分重要。

shiro有相关的shiro-redis整合的依赖包,使用起来也十分方便,下面就介绍下使用方法

本文前提是已搭建好shiro的简单框架,配置好realm以及配置类(设置好SecurityManager等)

1.引入shiro-redis依赖

		<!-- shiro --><dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-spring</artifactId><version>1.13.0</version></dependency>		<!-- shiro-redis --><dependency><groupId>org.crazycake</groupId><artifactId>shiro-redis</artifactId><version>3.3.1</version></dependency>

2.配置redis数据源

其实不需要配置,因为在下面的RedisManager是直接将参数设置进入的,yaml文件的配置并不生效。

但是因为其他业务也可能用到redis,所以在yaml中配置,下面的RedisManager可以通过@Value(“$spring.redis.xxx”)进行引入,避免撤换redis数据源时,需要修改多处地方。

spring:redis:host: 127.0.0.1port: 6379database: 0jedis:pool:max-idle: 8min-idle: 0max-active: 8max-wait: -1timeout: 0

3.配置ShiroConfig类

在ShiroConfig类中,将redis设置为session的缓存,在原有基础上添加以下代码

    /*** redisManager* @return*/public RedisManager redisManager() {RedisManager redisManager = new RedisManager();// 高版本的shiro-redis,取消setPort方法,需要将Port和Host写在一起redisManager.setHost("127.0.0.1:6379");// 配置过期时间redisManager.setTimeout(1800);return redisManager;}/*** cacheManager* @return*/public RedisCacheManager cacheManager() {RedisCacheManager redisCacheManager = new RedisCacheManager();redisCacheManager.setRedisManager(redisManager());return redisCacheManager;}/*** redisSessionDAO*/public RedisSessionDAO redisSessionDAO() {RedisSessionDAO redisSessionDAO = new RedisSessionDAO();redisSessionDAO.setRedisManager(redisManager());return redisSessionDAO;}/*** sessionManager*/public DefaultWebSessionManager SessionManager() {DefaultWebSessionManager sessionManager = new DefaultWebSessionManager();sessionManager.setSessionDAO(redisSessionDAO());return sessionManager;}

然后在之前的配置上,将session管理器和cache管理器注入到SecurityManager中

    /*** 配置SecurityManager* @param myRealm* @return*/@Beanpublic SecurityManager securityManager(Realm myRealm){DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();//设置一个Realm,这个Realm是最终用于完成我们的认证号和授权操作的具体对象securityManager.setRealm(myRealm);securityManager.setSessionManager(sessionManager());securityManager.setCacheManager(cacheManager());return securityManager;}

4.测试

保证redis参数正常,连接正常,启动项目

访问登录连接
在这里插入图片描述

redis被成功写入,见下图

在这里插入图片描述

经过在doGetAuthenticationInfo方法和doGetAuthorizationInfo方法中设置简单输出语句,发现只在第一次登录时进入认证方法,第一次授权时进入授权方法。后续都不再进入该方法。

至此,Shiro+Redis集成完毕

http://www.yayakq.cn/news/484059/

相关文章:

  • 郑州国外网站建设响应式网站一般做几个设计稿
  • 广东珠海网站建设网站开发与设计模板
  • 太原做网站多少钱我的百度购物订单
  • 网站顶部广告代码一个域名多个网站
  • 模板网站和定制网站的优劣势对比企企网官网
  • 洛阳做家教去什么网站一加官方网站进入
  • 锟鹏建设招聘网站莱芜人力资源部最新招聘信息
  • 网站营销的优缺点建立网站免费
  • 农业网站模板网站建立不安全怎么设置通过
  • 广州建站模板有wordpress
  • 弧度网站建设做微信用什么网站
  • 成都高档网站建设中国企业500强排行榜完整榜单
  • 子洲网站建设平台网址收录
  • 做怎样的网站能赚钱建设网站需要分析什么条件
  • 网站设计之路代做课件的网站
  • 织梦可以仿所有网站吗如何在建设厅网站投诉
  • 移动互联网应用程序信息服务管理规定网站免费seo
  • 前几年做哪个网站致富淘宝联盟必须要网站备案
  • 大理州城乡建设局官方网站wordpress自定义注册页面
  • 潍坊建设gc局网站微信导购网站怎么做视频教学
  • 情人节网站源码下载酒泉网站建设有哪些
  • 网站建设电销话术高档vi设计公司
  • 贵阳网站建设推广鞍山站
  • 移动网站不备案吗制作wordpress
  • 网站撤销备案门户网站设计
  • 网站开发学习什么怎么用php做网站
  • 浙江城建建设集团网站代码运行框wordpress6
  • 个人站长做什么网站好南山做网站哪家好
  • 塑胶卡板东莞网站建设支持浙江平安建设网站
  • 织梦响应式网站模板html5 网站开发软件