这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
分享:技术:shiro:spring整合shiro实现会话管理 [2015/09/22 15:48] gxx |
分享:技术:shiro:spring整合shiro实现会话管理 [2015/09/22 16:01] (当前版本) gxx [不同节点共享会话] |
||
---|---|---|---|
行 897: | 行 897: | ||
{{:分享:技术:shiro:permission_1.png?300|}} | {{:分享:技术:shiro:permission_1.png?300|}} | ||
{{:分享:技术:shiro:role_permission_1.png?300|}} | {{:分享:技术:shiro:role_permission_1.png?300|}} | ||
- | ===== 操作演示 ===== | + | ===== 代码操作 ===== |
原来操作session是: | 原来操作session是: | ||
request.getSession().setAttribute("K","V"); | request.getSession().setAttribute("K","V"); | ||
行 906: | 行 906: | ||
session.setAttribute("K","V"); | session.setAttribute("K","V"); | ||
session.getAttribute("K"); | session.getAttribute("K"); | ||
- | 有了shiro之后,会话的存取就不依赖容器了,各个应用节点就是无状态的,所有的会话存储都在redis中,即使容器挂掉,重启之后,用户从redis中读取会话信息依然可以保持登录状态以及获取之前设置的session数据。 | + | ===== 无状态节点重启依然保存会话 ===== |
+ | 有了shiro之后,会话的存取就不依赖容器了,各个应用节点就是无状态的,所有的会话存储都在redis中,即使容器挂掉,重启之后,用户从redis中读取会话信息依然可以保持登录状态以及获取之前设置的session数据,只要redis不挂(redis可以本地持久化,如果有必要redis还可以做集群)。 | ||
+ | ===== 不同节点共享会话 ===== | ||
+ | 同一机器下,不同端口P1和P2两个tomcat T1和T2,都部署相同的应用manage,指向同一个redis。T1访问登录成功,T2可以直接访问登录后页面;T1设置session的键Key和值Value,T2可以直接通过键Key取到对应的值Value。 |