Session
Tomcat Session
Session 是一种 cookie。
Tomcat Session 是懒加载的。如果没有使用,并不会设置响应头 Set-Cookie
。
本质上是利用了 Set-Cookie 响应头。
具体创建流程从 org.apache.catalina.connector.RequestFacade#getSession()
开始跟踪。.
最终创建由 org.apache.catalina.connector.Request#getSession(boolean)
调用 session.getSession()
实现。
由 StandardSession
包裹 StandardSessionFacade
。
sessionId 值的生成可从 org.apache.catalina.session.ManagerBase#generateSessionId
开始跟踪。
Shiro Session
Shiro Session 是懒创建。在调用 SecurityUtils.getSubject().getSession()
之后会进行创建。
Shiro Session 是
如果是 Tomcat 配合 Shiro 开发,将会使用 ServletContainerSessionManager
进行 Session 创建,底层是调用了 request.getSession()