我通常使用执行 <%= session.invalidate() %> 然后重定向到主页的 JSP 来处理站点注销。现在我在 WebSphere 上运行,使用 LTPA 和 SSL 证书进行身份验证。 Session.invalidate() 不起作用。有人认为这是因为 WAS 使用了 LTPA。 LTPA 创建一个认证 cookie (LtpaToken2),该 cookie 不会被 session.invalidate 清除。
IBM 确实有一个我可以使用的专有注销 JSP***,但我不想使用特定于供应商的解决方案。是否有人解决了 session 注销问题,从而清除了 LTPA cookie,而无需绑定(bind)到供应商的 J2EE 容器?
最佳答案
我找到了解决方案:
- 在管理控制台中,单击
安全性
>全局安全性
- 在
自定义属性
下,点击新建
- 在“名称”字段中,输入
com.ibm.ws.security.web.logoutOnHTTPSessionExpire
- 在“值”字段中,输入
true
- 点击
应用
和保存
以保存对配置的更改 - 重新同步并重新启动服务器
关于java - session 无效无法使用基于 LTPA 的安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18898141/