java – 具有自定义会话超时的Spring Security

我需要一个从GUI设置会话超时的选项.目前,我们可以使用配置全局更改会话超时

server.session.timeout=120
server.session.cookie.max-age=120
server.session.timeout=120`

我们还可以为每个会话设置会话超时.

session.setMaxInactiveInterval(120);

但是没有找到全局设置会话超时的选项.有没有办法用弹簧靴做到这一点

提前致谢

最佳答案
我认为您可能需要使用spring jdbc session或redis session,以便您可以完全控制会话存储.

Spring引导jdbc session给出了一个bean

@Autowired
JdbcOperationsSessionRepository sessionRepository;

使用它我们可以从控制器设置空闲超时.

只需添加依赖项,然后为您的配置添加@EnableJdbcHttpSession.

http://docs.spring.io/spring-session/docs/current/reference/html5/guides/httpsession-jdbc-boot.html#httpsession-jdbc-boot-sample

但看起来会话表不是自动创建的,你需要手动创建表.你可以在里面找到陈述

组织/ springframework的/会话/ JDBC /模式 – * SQL

http://docs.spring.io/spring-session/docs/current/api/org/springframework/session/jdbc/JdbcOperationsSessionRepository.html

编辑:1

即使jdbc session提供了一种设置全局默认超时的方法,我发现它无法正常工作.似乎唯一的解决方案是在用户首次使用以下代码登录时设置会话超时.

session.setMaxInactiveInterval(120);

相关文章

这篇文章主要介绍了spring的事务传播属性REQUIRED_NESTED的原...
今天小编给大家分享的是一文解析spring中事务的传播机制,相...
这篇文章主要介绍了SpringCloudAlibaba和SpringCloud有什么区...
本篇文章和大家了解一下SpringCloud整合XXL-Job的几个步骤。...
本篇文章和大家了解一下Spring延迟初始化会遇到什么问题。有...
这篇文章主要介绍了怎么使用Spring提供的不同缓存注解实现缓...