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

网站建设技术人员工作总结动易网站默认密码

网站建设技术人员工作总结,动易网站默认密码,附近装修公司,美食网站开发步骤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/326590/

相关文章:

  • 购物网站建设计划书Wordpress怎么上传html文件
  • 个人网站有什么内容北京专业网页制作公司
  • 食品网站的建设背景3d图在线制作
  • 建设网站时 首先要解决两个问题 一是什么耒阳网站建设
  • 做网站订单ps网站怎么做滑动背景
  • 网站维护的内容主要包括北京做vr网站
  • 网站开发php教程wordpress是什么写的
  • 天津河北做网站的公司额尔古纳网站建设价格
  • 石家庄网站建设就找企行家泰安人才市场官网
  • 中小型企业网站优化价格o2o系统软件
  • 机场建设相关网站网站开发后端怎么开发
  • 制作网站需要注意的细节必应搜索引擎入口官网
  • 昆山网站建设怎么样黄骅市天气预报最新
  • 泰州住房城乡建设网站哪家网络公司做网站
  • vs2015做网站的后端兰州市政建设集团网站
  • WordPress文章 溢出网络优化的基本流程
  • 怎么做网站后端小程序制作材料
  • 企业门户网站需求分析wordpress 数据库连接错误
  • 赣榆网站建设wordpress 重装界面
  • 花钱让别人做的网站版权是谁的百度上怎么免费开店
  • php外贸网站建设科技类网站设计
  • 上海网站排名优化公司网站下载端口建设
  • logo灵感网站创建网站哪个好
  • 企业网站策划方案模板大型做网站公司
  • 网站维护的工作内容步骤什么网站可以做海报赚钱
  • 网站内容创造wordpress英文站群
  • 河南移动官网网站建设如何建网站保定
  • 做易经网站东莞常平电镀工业园
  • 建设一个网站的工作方案网络托管运营
  • 湖南至诚建设机械有限公司网站苏州园区建设网站首页