shiro提供了完整的会话管理功能,不依赖底层容器,JavaSE应用和JavaEE应用都可以使用。SessionManager(会话管理器)管理着应用中所有Subject的会话,包括会话的创建、维护、删除、失效、验证等工作。
DefaultSecurityManager默认使用的SessionManager为DefaultSessionManager,用于JavaSE环境的session管理。
SessionManager 接口
SessionManager 接口是Shiro所有会话管理器的顶级接口。在此接口中声明了两个方法Session start(SessionContext context);和Session getSession(SessionKey key) throws SessionException;。
Session start(SessionContext context);方法,基于指定的上下文初始化数据启动新会话。
Session getSession(SessionKey key) throws SessionException; 根据指定的SessionKey检索会话,如果找不到则返回null。如果找到了会话,但会话但无效(已停止或已过期)则抛出SessionException异常。