实现无需密钥即可记住我

发布于 2024-12-09 06:34:26 字数 266 浏览 0 评论 0原文

我发现一些示例仅通过以下方式实现“记住我”功能

<remember-me/>

,其他示例将其实现为:

<remember-me key="_spring_security_remember_me"/>

我想知道这两个声明之间有什么区别,以及 _spring_security_remember_me 是预定义的键吗? 谢谢。

i found some samples that implements remember me functionality by just

<remember-me/>

and other samples implement it as:

<remember-me key="_spring_security_remember_me"/>

and i want to know what is the difference between the two declarations, and is the _spring_security_remember_me is a predefined key?
thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

℡Ms空城旧梦 2024-12-16 06:34:27

默认密钥可以在 AuthenticationConfigBuilder.createRememberMeFilter() 中找到,

    final String DEF_KEY = "SpringSecured";

如果您未在 中指定,则使用该值。

The default key can be found in AuthenticationConfigBuilder.createRememberMeFilter()

    final String DEF_KEY = "SpringSecured";

That is the value that is used if you don't specify one in <remember-me>

誰認得朕 2024-12-16 06:34:27

文档中, key 属性用于对 cookie 中存储的值进行哈希处理。它可以防止恶意用户尝试解码 cookie,因为如果没有密钥,他们就无法做到这一点(嗯,这要困难得多)。

From the documentation, the key attribute is used in hashing the value stored in the cookie. It prevents a malicious user from trying to decode the cookie, because they can't do that (well it s a lot harder) without the key.

软的没边 2024-12-16 06:34:27

对于将来寻找 Rememberme().key() 功能的人来说,似乎从 Spring Boot 2.2.6 开始,如果未提供密钥,就有 SecureRandom 生成器来生成密钥。这是在 org.springframework.security.config.http.AuthenticationConfigBuilder.createRememberMeFilter 中找到的实现

private String createKey() {
    SecureRandom random = new SecureRandom();
    return Long.toString(random.nextLong());
}

For anyone looking for the rememberme().key() feature in the future, it seems that as of Spring Boot 2.2.6 there is SecureRandom generator to generate the key if it is not provided. Here is the implementation found in org.springframework.security.config.http.AuthenticationConfigBuilder.createRememberMeFilter

private String createKey() {
    SecureRandom random = new SecureRandom();
    return Long.toString(random.nextLong());
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文