春季安全会话超时

cho*_*o70 5 session timeout spring-security

我在JSF2 webapp中使用Spring Security 3.

我有一个安全规则来提供会话超时:

<session-management invalid-session-url="/faces/paginas/autenticacion/login.xhtml?error=1" />
Run Code Online (Sandbox Code Playgroud)

因此,当会话过期并且用户单击任何链接时,他将被重定向到登录页面.在此页面中,我检查错误参数,并向用户显示一条消息,说明会话已过期.

但我有两个问题:

(1)当我第一次启动应用程序(它试图显示主页)时,我被重定向到登录页面,说会话已经过期.我认为这可能会发生,因为第一次运行应用程序时,会话是新的,Spring Security可能"认为"他已经过期(不区分新会话和超时).

(2)如果匿名用户的会话已过期(尚未通过身份验证),我也会被重定向到登录页面超时.对于未经身份验证的用户,我不希望出现此行为,我只想查看经过身份验证的用户的超时.

我怎样才能解决这两个问题呢?

先感谢您.

cde*_*zaq 6

您希望将该expired-session-url属性用于过期的会话,而不是invalid-session-url.他们是两个不同的东西.