由于某种原因,我无法让Spring-Security与“记住我”一起工作。
它从不在客户端创建cookie。
这是我的登录表格<input type="checkbox" name="_spring_security_remember_me"/> Remember me
也尝试过<input type="checkbox" name="remember-me"/> Remember me
这是我的安全设置
http.authorizeRequests()
......
.anyRequest().fullyAuthenticated()
.and()
.formLogin().loginPage("/login").failureUrl("/login?error").permitAll()
.and()
.logout().logoutRequestMatcher(new AntPathRequestMatcher("/logout")).logoutSuccessUrl("/login")
.and()
.rememberMe()
.tokenValiditySeconds(31536000);
我尝试了自己的自定义表单和内置的Spring登录表单。
我测试的方法是登录,复制受保护的URL,关闭浏览器,打开浏览器并粘贴URL。
最佳答案
这就像将fullyAuthenticated()更改为authenticated()一样简单。
就像在javadocs中对fullyAuthenticated()所说的那样:
指定已认证但未“记住”的用户允许使用URL。