如何在Spring Session中使用自己的ExpiringSession实现?

时间:2018-10-29 19:59:32

标签: spring-session

我正在使用Spring Boot和Spring Session,并且正在尝试围绕用户会话实施以下策略:

  1. 如果用户闲置超过1小时,则将其注销
  2. 如果用户关闭浏览器,则会注销
  3. 如果用户有效登录了12个小时以上,则将其注销

我知道我可以通过将server.session.timeout设置为1小时来实现#1。我知道我可以通过将server.session.cookie.max-age设置为-1(默认值)来实现#2。除了#2,我还可以通过将server.session.cookie.max-age设置为12小时来获得#3。但是,我看不到将#2和#3都与Spring Session结合在一起的方法。

在Spring Session实现中,如果ExpiringSession#isExpired(默认)或{{ 1}}。

但是,在不创建自己的now - maxInactiveInterval > lastAccessedTime的情况下,我看不到任何为now - maxActiveInterval >= creationTime提供自己的实现或包装的方法。这将非常简单,但我希望能够依靠Spring Boot自动配置为Spring Session提供的配置灵活性,并提供我自己的行为。

是我要尝试做的事不常见还是我的方法听起来不正确?我觉得我缺少一些我们不希望实施此类政策的技术原因。

谢谢。

0 个答案:

没有答案
相关问题