【问题标题】:Remember me - only username - in Spring Security记住我 - 只有用户名 - 在 Spring Security
【发布时间】:2014-01-17 13:14:33
【问题描述】:

我是 Spring Security 的新手。我有一条业务规则,规定用户每次进入网站时都需要登录,但是,如果他们选中记住我复选框,他们的用户名将在访问之间被记住(并预填充在表单中)并且仍然是必需的输入他们的密码并登录。

Spring Security 中的“记住我”功能是否可以实现类似的功能?

谢谢。

【问题讨论】:

    标签: java spring spring-security


    【解决方案1】:

    spring security 的记住我功能不适用于您描述的用例。记住我允许用户返回网站并立即登录,无需用户名或密码。

    这是因为用户身份由 REMEMBER_ME cookie 定义,该 cookie 在提交时创建一个新会话,以防用户未登录且不存在会话。

    实现仅记住用户名并仍然强制用户输入密码的一种方法是使用单独的自定义 cookie,其中仅包含用户名。

    新 cookie 可以在后端使用 servlet API addCookie 方法创建,也可以在前端使用 Javascript cookie APIs 创建。

    【讨论】:

    • 不应该由javascript cookie代替吗?由于 spring 安全类有许多方法,如 autoProcessLogin 等,这种情况不需要。
    • 是的没错,这就是我所说的单独的自定义 cookie 的意思——不是由 spring 管理的 cookie。您可以在后端使用 servlet API docs.oracle.com/javaee/6/api/javax/servlet/http/… 或在前端 w3schools.com/js/js_cookies.asp 上的一些 javascript 创建它,因为这是最方便的
    • 请分享你的答案,你是如何使用servelt在spring应用程序中实现这个的
    猜你喜欢
    • 1970-01-01
    • 2015-05-10
    • 2012-01-21
    • 2018-09-23
    • 2014-09-04
    • 2018-12-02
    • 2017-11-15
    • 2012-03-13
    • 2016-01-31
    相关资源
    最近更新 更多