我在配置中添加了以下属性:
server.session.cookie.max-age=3600
Set-Cookie
HTTP标头是:
Set-Cookie: JSESSIONID=3407BD3E1C7153D70EFC5DBD16B059E4; Path=/; Secure; HttpOnly
因此,似乎Spring忽略了此属性。是否已弃用?如果没有,为什么它不起作用?
这是我的配置:
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.anyRequest()
.authenticated()
.and()
.formLogin()
.successForwardUrl("/")
.defaultSuccessUrl("/", true)
.permitAll()
.and()
.logout().logoutRequestMatcher(new AntPathRequestMatcher("/logout"))
.deleteCookies("JSESSIONID")
.invalidateHttpSession(true)
.and()
.rememberMe()
.key("key")
.tokenValiditySeconds(86400);
}
答案 0 :(得分:2)
在Spring Boot 2.1.4中,您必须使用属性server.servlet.session.cookie.max-age
而不是server.session.cookie.max-age
,请参见Spring Boot Reference Guide:
附录A.常见的应用程序属性
可以在
application.properties
文件内,application.yml
文件内或命令行开关中指定各种属性。本附录提供了常见的Spring Boot属性列表,并引用了使用它们的基础类。[...]
# EMBEDDED SERVER CONFIGURATION (ServerProperties) [...] server.servlet.session.cookie.max-age= # Maximum age of the session cookie. If a duration suffix is not specified, seconds will be used.