Shiro结合redis的统一会话管理

步骤分析

构建环境

(1)使用开源组件Shiro-Redis可以方便的构建shiro与redis的整合工程。

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

(2) 在springboot配置文件中添加redis配置

  redis:host: localhostport: 6379password: 123456

自定义shiro会话管理器

package cn.learn.shiro.session;import org.apache.shiro.web.servlet.ShiroHttpServletRequest;
import org.apache.shiro.web.session.mgt.DefaultWebSessionManager;
import org.apache.shiro.web.util.WebUtils;
import org.springframework.util.StringUtils;import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import java.io.Serializable;/*** 自定义的sessionManager*/
public class CustomSessionManager extends DefaultWebSessionManager {/*** 头信息中具有sessionid*      请求头:Authorization: sessionid** 指定sessionId的获取方式*/protected Serializable getSessionId(ServletRequest request, ServletResponse response) {//获取请求头Authorization中的数据String id = WebUtils.toHttp(request).getHeader("Authorization");if(StringUtils.isEmpty(id)) {//如果没有携带,生成新的sessionIdreturn super.getSessionId(request,response);}else{//返回sessionId;request.setAttribute(ShiroHttpServletRequest.REFERENCED_SESSION_ID_SOURCE, "header");request.setAttribute(ShiroHttpServletRequest.REFERENCED_SESSION_ID, id);request.setAttribute(ShiroHttpServletRequest.REFERENCED_SESSION_ID_IS_VALID, Boolean.TRUE);return id;}}
}

Shiro结合redis的统一会话管理:自定义会话管理器相关推荐

  1. springboot整合shiro和session的详细过程和自定义登录拦截器

    文章目录 1.shiro依赖 2.shiro配置 shiro过滤器配置: 关联自定义的其他管理器 自定义会话工厂: 3.登陆时记录用户信息 4.shiro一些工具类的学习 5.自定义登录拦截器 shi ...

  2. 事务管理自定义事务管理器

    事务管理自定义事务管理器 public class DBUtils {//获取链接//在当前线程中存储所使用的链接private ThreadLocal<Connection> threa ...

  3. Dubbo自定义日志拦截器

    前言 上一篇文章 Spring aop+自定义注解统一记录用户行为日志 记录了 web层中通过自定义注解配合Spring aop自动记录用户行为日志的过程.那么按照分布式架构中Dubbo服务层的调用过 ...

  4. Dubbo自定义日志拦截器 1

    前言 上一篇文章 Spring aop+自定义注解统一记录用户行为日志 记录了 web层中通过自定义注解配合Spring aop自动记录用户行为日志的过程.那么按照分布式架构中Dubbo服务层的调用过 ...

  5. Shiro框架:缓存、session会话、自定义FormAuthenticationFilter、RemenberMe

    上篇的地址:https://blog.csdn.net/a745233700/article/details/81350191 一.Shiro缓存--cacheManager: 针对上一篇授权的时候频 ...

  6. SpringBoot 基于Shiro + Jwt + Redis的用户权限管理 (三) 鉴权

    项目Github地址: https://github.com/baiye21/ShiroDemo SpringBoot 基于Shiro + Jwt + Redis的用户权限管理 (一) 简介与配置 S ...

  7. 全程配图超清晰的Springboot权限控制后台管理项目实战第二期(Springboot+shiro+mybatis+redis)

    全程配图超清晰的Springboot权限控制后台管理项目实战第二期(Springboot+shiro+mybatis+redis) 众所周知,作为一个后端新手学习者,通过项目来学习,增长项目经验,是一 ...

  8. springBoot中shiro与Redis整合的配置文件

                                                                 springBoot中shiro与Redis整合的配置文件 整合依赖: < ...

  9. 【Vue+SpringBoot】超详细!一周开发一个SpringBoot + Vue+MybatisPlus+Shiro+JWT+Redis前后端分离个人博客项目!!!【项目完结】

    项目目录 资源准备 前后端分离项目 技术栈 Java后端接口开发 1.前言 2.新建Springboot项目 3.整合mybatis plus 3.统一结果封装 4.整合shiro+jwt,并会话共享 ...

最新文章

  1. Playmaker全面实践教程之简单的使用Playmaker示例
  2. 浅谈构造函数与构析函数的调用顺序(转载)
  3. java 静态绑定原理_Java方法的静态绑定与动态绑定讲解
  4. python最新面试题_2018年最新Python面试题及答案
  5. iOS:Masonry 英文原档介绍
  6. mysql ken len_MySQL EXPLAIN
  7. 解决数据库导入导出的常见问题集解决办法
  8. 升级 Node.js 版本遇到的 co 和 pm2 问题解析
  9. 多分类决策树 r语言_R语言——决策树模型的相关可视化
  10. 高数复习:极限与连续,一元函数微分学,一元函数积分学,多元函数微分学以及微分方程(思维导图版知识点总结)
  11. c语言完整表白程序代码,C语言告白代码,一闪一闪亮晶晶~
  12. 局域网攻击之ARP网关欺骗
  13. 洞察药监局数据,挖掘万亿价值
  14. java.io.IOException:Permission denied
  15. Android进阶之路 - 解决部分手机拍照之后图片被旋转的问题
  16. C语言基础 输出月份名 问题
  17. Python数据可视化——散点图
  18. Java代码实现非对称加密RSA算法示例
  19. 资讯和兴趣好烦,如何彻底关闭它?
  20. Android悬浮窗适配全机型,包含8.0,小米魅族华为悬浮窗权限适配demo看这一篇就够了

热门文章

  1. Atitit 《控制论原理与概论attilax总结
  2. rtems 4.11 RTC驱动 (arm, beagle)
  3. MySQL查询本周、上周、本月、上个月份数据的sql代码
  4. BZOJ2675 : Bomb
  5. uitableview 默认选中行
  6. [silverlight]WCF和Web Service(ASMX)的soap header传输方法
  7. [HDU 1015] Safecracker
  8. matlab函数每天进步一点点
  9. 学学python(4):面向对象及类,模块
  10. 华为FusionCube从融合到超融合 只为让计算变简单