我知道我们可以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/