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

前端之家收集整理的这篇文章主要介绍了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相关文章