如何使用 apache shiro 永久保持登录状态

Posted

技术标签:

【中文标题】如何使用 apache shiro 永久保持登录状态【英文标题】:How to stay logged in permanently using apache shiro 【发布时间】:2013-09-25 21:02:24 【问题描述】:

当用户第一次使用 apache shiro 登录时,需要知道如何在我的 Java EE 应用程序中永久保持登录状态

有什么想法吗?

【问题讨论】:

【参考方案1】:

Shiro 支持“记住我”功能。只需在登录表单中提供一个名为 rememberMe 的复选框:

<input type="checkbox" name="rememberMe" value="true" />

如果你想使用JSF&lt;h:selectBooleanCheckbox&gt;如下,

<h:form id="login">
    <h:selectBooleanCheckbox id="rememberMe" />

然后你需要修改shiro.ini,在[main]下添加如下条目:

authc.rememberMeParam = login:rememberMe

其中login:rememberMe 是 JSF 生成的复选框的客户端 ID,代表实际的 HTTP 请求参数名称。

如果您希望默认选中它,请在 html 输入中使用 checked="checked",或在 JSF 组件中提供 boolean=true 属性。

另见:

JSF2 - Shiro tutorial

【讨论】:

以上是关于如何使用 apache shiro 永久保持登录状态的主要内容,如果未能解决你的问题,请参考以下文章

如何检查用户是不是已经使用 Apache Shiro 登录?

Apache-Shiro:用户在 AJAX 中进行身份验证,登录后如何恢复 GET-Variables?

apache shiro 使用 Hashing Credentials 无法成功登录

Apache Shiro 决定登录后使用啥角色

Apache Shiro:登录时出现 IllegalArgumentException

Apache Shiro系列四:Shiro的架构