我找到了一些实用的样本,只记得我的功能
<remember-me/>
和其他示例将其实现为:
<remember-me key="_spring_security_remember_me"/>
我想知道两个声明之间有什么区别, _spring_security_remember_me 是预定义的键吗? 感谢。
答案 0 :(得分:1)
在documentation中,key
属性用于散列存储在Cookie中的值。它可以防止恶意用户尝试解码cookie,因为如果没有密钥,他们就无法做到这一点(更难)。
答案 1 :(得分:1)
默认密钥可在AuthenticationConfigBuilder.createRememberMeFilter()
final String DEF_KEY = "SpringSecured";
如果您未在<remember-me>
答案 2 :(得分:0)
对于将来想要使用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());
}