Shiro自身维护了一套session管理组件,它可以独立使用,并不单纯依赖WEB/Servlet/EJB容器等环境,使得它的session可以任何应用中使用。
2-Session)主要介绍在quickstart例子中从获取Subject后,由初始化获取Session并写入读出session参数的完整过程。
同样,本篇本文使用的是shiro 1.3.2版本,配合源码最佳~
Shiro自身提供了SessionManager的三种实现来支持不同的模式
DefaultSessionManager:Shiro自身维护的session,可在普通应用环境使用
DefaultWebSessionManager:独立提供在shiro-web包中,继承SessionManager,并额外支持WEB相关方法
ServletContainerSessionManager:使用Servlet容器提供Session管理,提供少量额外方法
在samples-quickstart例子中使用到的是DefaultSessionManager。
篇1(Shiro官方快速入门10min例子源码解析框架1-初始化)中,1.2节DefaultSecurityManager是DefaultSessionManager的子类,在初始化DefaultSecurityManager时一同初始化DefaultSessionManager
在获取到Subject后,继续看samples-quickstart的代码如何获取和设置Session
Subject currentUser = SecurityUtils.getSubject();