我正在尝试使用spring security实现会话超时。我有web.xml和安全上下文设置,但是当用户尝试访问根“/”时我遇到了问题。 Spring认为它是一个无效的会话(因为技术上是这样)并重定向到/ sessiontimeout。
无论如何都要忽略这个初始无效会话,因为用户还没有登录?或者区分过期的会话和无效的会话?
的web.xml
<session-config>
<session-timeout>1</session-timeout>
</session-config>
安全背景
<security:session-management invalid-session-url="/sessiontimeout" />
或者我可以采取简单的方法,并为每个页面添加一些JavaScript ...
答案 0 :(得分:2)
“无效会话”不是用户未经过身份验证的会话。当浏览器为旧会话提交JSESSIONID cookie时,例如当它已超时但也可能在用户注销但cookie仍然存在时。
这很可能就是你所看到的。您可以将Spring Security配置为在用户注销时尝试删除会话cookie,如the reference manual中所述。