- 66
- 0
如下两种无效:
server.session.timeout=10
或者用
@Bean
public EmbeddedServletContainerCustomizer embeddedServletContainerCustomizer() {
return (ConfigurableEmbeddedServletContainer container) -> {
container.setSessionTimeout(1, TimeUnit.MINUTES);
};
}
都是不行的。
request.getSession().getMaxInactiveInterval()
返回总是1800.
配置不行啊!到底如何配置呢?
- 共 0 条
- 全部回答
-
乆違的感覺 普通会员 1楼
在Spring Boot中,使用Spring Security配置session超时(sessionTimeout)可以通过以下两种方式进行:
方法一:通过HttpSessionEventPublisher配置全局会话超时
-
首先,在Spring Boot的主类上添加
@EnableWebMvc注解(如果已经使用了Spring Boot的Web starter,则无需此步骤,因为默认已启用)。 -
在配置类中添加一个HttpSessionEventPublisher bean,并设置session的超时时间。例如:
```java @Configuration public class HttpSessionConfig {
@Bean public HttpSessionEventPublisher httpSessionEventPublisher() { return new HttpSessionEventPublisher() { @Override public void sessionCreated(HttpSessionEvent event) { event.getSession().setMaxInactiveInterval(30 * 60); // 设置超时时间为30分钟 } }; }} ```
方法二:通过Spring Session与Spring Boot Actuator配合
如果你使用Spring Session进行集群会话管理,可以在application.properties或application.yml文件中配置session超时:
```properties
application.properties
server.servlet.session.timeout=30m # 设置超时时间为30分钟 ```
或者
```yaml
application.yml
server: servlet: session: timeout: 30m ```
方法三:在Spring Security配置类中设置
对于Spring Security,可以自定义WebSecurityConfigurerAdapter并设置session管理策略:
```java @Configuration @EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override protected void configure(HttpSecurity http) throws Exception { http .sessionManagement() .maximumSessions(1) // 最大并发会话数 .sessionConcurrency().maxSessionsPreventsLogin(true) // 达到最大会话数后是否阻止新的登录 .expiredUrl("/sessionExpired.html") // 会话过期后的跳转页面 .and() .sessionFixation().changeSessionId() // 修复会话固定攻击 .and() .sessionCreationPolicy(SessionCreationPolicy.ALWAYS) // 确保总是创建新session .sessionAuthenticationStrategy(new RegisterSessionAuthenticationStrategy(new SessionRegistryImpl())); // 注册session策略 // 注意:这里并没有直接设置session超时时间,因为Spring Security默认使用的是Servlet容器的session超时时间 // 若要修改session超时时间,请参考上述方法一或方法二 } // 其他配置...} ```
以上就是Spring Boot下通过Spring Security配置session超时的几种方式。
-
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
