概述
用户访问应用时保持的连接关系,在多次交互中应用能够识别出当前访问的用户是谁,且可以在多次交互中保存一些数据,当主体成功login后就会创建一个会话
会话管理器
概述: 会话管理器管理着应用中所有 Subject的会话的创建、维护、删除、失效、验证等工作
shiro 提供了三个默认实现
- DefaultSessionManager:适合用于 JavaSE 环境
- ServletContainerSessionManager:适用于 Web 环境,其直接使用 Servlet 容器的会话,也就是Shiro会话直接是容器的会话,在容器会话添加属性等于在Shiro会话添加属性
- DefaultWebSessionManager:适用于 Web 环境的实现,可以替代 ServletContainerSessionManager,自己维护着会话,直接废弃了 Servlet 容器的会话管理,不适用Servlet容器的会话作为Shiro的会话
会话监听器
概述: 会话监听器用于监听会话创建、过期及停止事件,通常实现SessionListener或继承SessionListenerAdapter类
自定义SessionDao
概述:在Shiro中Session的储存默认根据使用的SecurityManager来决定,但我们也可以将其自定义,通常实现持久化
实现:通常我们直接继承AbstractSessionDAO或实现SessionDao接口并实现所有方法