java - Tomcat 在会话故障转移事件期间注销用户并重新启动
问题描述
我们已经使用 Redisson 实现了会话复制,但我们注意到,如果我们故意让一个节点失败,用户的会话确实会被复制,但是当它们在新服务器上恢复时它们会被注销。
这个答案在这里:在tomcat 7重新启动后恢复用户登录暗示使用JAASRealm将允许某人在重新启动后保持登录状态。
为了测试这一点,我使用属性登录模块在 Tomcat 中成功设置了 JAAS 领域。但是,当我重新启动时,用户会被注销。我确实看到我的会话被 tomcat 在它的工作目录中写入磁盘。
有没有办法让它正常工作,这样用户就不会在故障转移事件期间被注销?更重要的是,这是否有技术或安全原因?
如果您查看 Tomcat 代码,他们会积极尝试避免序列化 Principal:
解决方案
推荐阅读
- r - 删除选择列中缺少数据的行,前提是它们在所有列中都没有缺失数据(最好使用 complete.cases)
- python - 并非所有组都在 Telethon 中可见
- selenium - 如何使用 selenium 将 PDF 文件下载到我的框架文件夹中
- c++ - 套接字编程中连接错误的原因(在客户端)?
- python - 如何知道图像预测的区域?
- nginx - 如何在 Pacemaker/Corosync 中优先考虑节点?
- angularjs - 如何使用单向绑定更改传递给子组件的对象
- c - 将十六进制输入存储到 int 变量中而不使用 C 中的 scanf() 函数
- ms-access - 包含来自访问中的多个字段的数据的组合框
- java - Spring Boot 无法反序列化包含 OffsetDateTime 的对象