如何在Spring Security中关闭HTTP会话超时?

时间:2014-08-27 08:17:04

标签: java spring http spring-security

是否可以在Spring Security中关闭HTTP会话超时?

从这个answer我看到可以在web.xml中修改HTTP会话超时,如下所示:

<session-config>
    <session-timeout>10</session-timeout>
</session-config>

但我没有从Spring Security手册中找到如何禁用超时。

从这个answer我看到Spring Security在内部使用了javax.servlet.http.HttpSession,根据这个manual page,可以通过调用方法setMaxInactiveInterval(0)将其设置为永不过期。

因此,应该可以通过获取HttpSession(如答案中显示为here)并将maxInactiveInterval更改为0来更改会话超时。我的问题是,如果我将在第一次执行此操作后用户已登录,更改是否会在HttpSession中持续存在(即,在下一个请求中,HttpSession中的更改是否仍然存在?)

是否可以像这样禁用web.xml中的会话超时?

<session-config>
    <session-timeout>0</session-timeout>
</session-config>

另一个问题是,Spring Security中的默认HTTP会话超时是什么?

1 个答案:

答案 0 :(得分:3)

是。下面的代码段将使HTTPSession保持活动状态,除非会话显式无效

<session-config>
    <session-timeout>0</session-timeout>
</session-config>