笔记 笔记
首页
  • 开发工具
  • Java Web
  • Java 进阶
  • 容器化技术
  • Java 专栏

    • Java 核心技术面试精讲
    • Java 业务开发常见错误 100 例
  • 数据库专栏

    • MySQL 实战 45 讲
    • Redis 核心技术与实战
  • 安全专栏

    • OAuth 2.0 实战课
  • 计算机系统
  • 程序设计语言
  • 数据结构
  • 知识产权
  • 数据库
  • 面向对象
  • UML
  • 设计模式
  • 操作系统
  • 结构化开发
  • 软件工程
  • 计算机网络
  • 上午题错题
在线工具 (opens new window)

EasT-Duan

Java 开发
首页
  • 开发工具
  • Java Web
  • Java 进阶
  • 容器化技术
  • Java 专栏

    • Java 核心技术面试精讲
    • Java 业务开发常见错误 100 例
  • 数据库专栏

    • MySQL 实战 45 讲
    • Redis 核心技术与实战
  • 安全专栏

    • OAuth 2.0 实战课
  • 计算机系统
  • 程序设计语言
  • 数据结构
  • 知识产权
  • 数据库
  • 面向对象
  • UML
  • 设计模式
  • 操作系统
  • 结构化开发
  • 软件工程
  • 计算机网络
  • 上午题错题
在线工具 (opens new window)

购买兑换码请添加

添加时候请写好备注,否则无法通过。

  • 设计模式

  • JVM 详解

  • Linux

  • Redis

  • 分布式锁

  • Shiro

    • Shiro 入门

    • Shiro 进阶

      • 整合 Spring Boot
      • 整合 Thymeleaf
      • 整合 EhCache
      • 会话管理
        • SessionManager
        • 会话管理实现
        • 获得 Session 方式
  • Gradle

  • Java 进阶
  • Shiro
  • Shiro 进阶
EasT-Duan
2024-09-07
目录

会话管理

欢迎来到我的 ChatGPT 中转站,极具性价比,为付费不方便的朋友提供便利,有需求的可以添加左侧 QQ 二维码,另外,邀请新用户能获取余额哦!最后说一句,那啥:请自觉遵守《生成式人工智能服务管理暂行办法》。

# SessionManager

会话管理器,负责创建和管理用户的会话(Session)生命周期,它能够在任何环境中在本地管理用户会话,即使没有 Web / Servlet / EJB 容器,也一样可以保存会话。默认情况下,Shiro 会检测当前环境中现有的会话机制(比如 Servlet 容器)进行适配,如果没有 (比如独立应用程序或者非 Web 环境),它将会使用内置的企业会话管理器来提供相应的会话管理服务,其中还涉及一个名为 SessionDAO 的对象。SessionDAO 负责 Session 的持久化操 作(CRUD),允许 Session 数据写入到后端持久化数据库。

# 会话管理实现

SessionManager 由 SecurityManager 管理。Shiro 提供了三种实现

  • DefaultSessionManager:用于 JavaSE 环境

  • ServletContainerSessionManager:用于 web 环境,直接使用 Servlet 容器的会话

  • DefaultWebSessionManager:用于 web 环境,自己维护会话(不使用 Servlet 容器的 会话管理)

# 获得 Session 方式

Session session = SecurityUtils.getSubject().getSession();
session.setAttribute(“key”,”value”);
1
2

Controller 中的 request,在 Shiro 过滤器中的 doFilerInternal 方法,被包装成 ShiroHttpServletRequest。SecurityManager 和 SessionManager 会话管理器决定 session 来源于 ServletRequest 还是由 Shiro 管理的会话。无论是通过 request.getSession 或 subject.getSession 获取到 session,操作 session,两者都是等价的。

上次更新: 2025/04/12, 05:37:39
整合 EhCache
Gradle 入门

← 整合 EhCache Gradle 入门→

最近更新
01
Reactor 核心
02-24
02
前置条件
10-30
03
计算机网络
09-13
更多文章>
Theme by Vdoing | Copyright © 2019-2025 powered by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式