我正在帮助维护一个使用Apache Shiro的应用程序。
我们希望我们的用户能够注销,但保留他们的“记住我”cookie,但显然Shiro不支持此功能(滚动到页面底部):
https://shiro.apache.org/java-authentication-guide.html
当您在Shiro中注销时,它将关闭用户会话和 从主题实例中删除任何关联的标识。如果你是 在Web环境中使用RememberMe,然后.logout()将通过 默认情况下,也从浏览器中删除RememberMe cookie。
实现这一目标的最佳方式是什么?
答案 0 :(得分:0)
你可以:
RememberMe
Cookie。 从未使用过Apache Shiro,因此我不确定它是如何工作的,或者它是否会实现您想要完成的任务。
答案 1 :(得分:0)
事实证明,这可以通过使用自定义安全管理器来完成:
public class CustomSecurityManager extends DefaultWebSecurityManager {
@Override
protected void beforeLogout(Subject subject)
{
super.removeRequestIdentity(subject);
}
}