九江建网站多少钱,邯郸景区网站制作,网站开发投资成本,跨境建站平台前提 我们的使用的是DefaultWebSessionManager而不是ServletContainerSessionManager。这就意味着前者的session为Shiro的#xff0c;后者的session为Tomcat的。 登录 DefaultWebSessionManager调用start()方法(在AbstractNativeSessionManager中)创建Session#xff08;Simp… 前提 我们的使用的是DefaultWebSessionManager而不是ServletContainerSessionManager。这就意味着前者的session为Shiro的后者的session为Tomcat的。 登录 DefaultWebSessionManager调用start()方法(在AbstractNativeSessionManager中)创建SessionSimpleSession创建过程中会将Session放到介质Redis中再调用onStart()方法将sessionId放入到浏览器的Cookie中。 我们已经拿到SessionSimpleSession了可以将用户相关信息放到其中session.setAttribute(userName, userName);这个过程是放到了SimpleSession的一个Map属性中同时更新介质中的SimpleSession。 退出 DefaultWebSessionManager调用stop(SessionKey key)方法(在AbstractNativeSessionManager中)SimpleSession设置停止时间戳再调用onStop()方法设置最后访问时间戳并更新介质中的session清除浏览器中关于session的Cookie。 校验是否登录 我们可以通过Session是否存在并且session中的用户信息是否存在来判断或者是Cookie是否存在或者是Subject.isAuthenticated()是否为false有其一不成立就执行退出操作。 转载于:https://www.cnblogs.com/BINGJJFLY/p/9525526.html