java - Spring MVC session 最大生命周期

标签 java spring spring-mvc session spring-security

我知道我们可以session.setMaxInactiveInterval(1200);来设置不活动时的 session 到期时间。我有一个要求,比如用户 session 应该在给定的时间点过期。

例如,如果用户配置为上午 9 点至晚上 9 点访问,则应在晚上 9 点强制注销。

是否有像 session.maxLife(1200); 这样的函数或任何其他解决方案来实现此目的?

最佳答案

我认为你想要实现的目标可以通过拦截器来完成。唯一的区别在于,您不是最初决定生命周期,而是在分析 session 后动态阻止/允许请求。 http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpSession.html 中列出了 session 中可用的不同方法。 .

您可以为每个 session 设置自定义属性,例如 accessStartTime、accessEndTime 并每次在拦截器中为所有请求读取它们。如果当前时间不在用户访问时间段范围内,那么可以对session对象调用invalidate。

关于java - Spring MVC session 最大生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42065521/

相关文章:

使用 JPAKnowledgeService 创建 StatefulKnowledgeSession 时出现 java.lang.NullPointerException

java - 如何将 test 和 main 的属性注入(inject)到多模块 gradle spring boot 项目的每个子模块中?

java - Spring MVC 配置 url-pattern

java - 从另一个 WAR 继承 Spring 配置

java - 有没有办法在从 Java 中的输入流读取时将字节更改为整数?

Java 区域设置到国家/地区代码 (ISO 3166)

用于两个之间语义相似性/相关性的 Java API "WORDS"

java - 调用函数

java - Spring Security HTTP Basic for RESTFul 和 FormLogin (Cookies) for web - 注释

java - 在 UI 端处理 ResponseEntity 的最佳方法是什么?