我在JSF2 webapp中使用Spring Security 3.
我有一个安全规则来提供会话超时:
<session-management invalid-session-url="/faces/paginas/autenticacion/login.xhtml?error=1" />
因此,当会话过期且用户点击任何链接时,他将被重定向到登录页面。在此页面中,我检查错误参数,并向用户显示一条消息,说明会话已过期。
但我有两个问题:
(1)当我第一次启动应用程序(它试图显示主页)时,我被重定向到登录页面,说会话已经过期。我认为这可能会发生,因为第一次运行应用程序时,会话是新的,Spring Security可能“认为”他已经过期(不区分新会话和超时)。
(2)如果匿名用户的会话已过期(尚未通过身份验证),我也会被重定向到登录页面超时。对于未经过身份验证的用户,我不希望出现此行为,我只想查看经过身份验证的用户的超时。
如何解决这两个问题?
提前谢谢。
答案 0 :(得分:6)
您希望将expired-session-url
属性用于过期的会话,而不是invalid-session-url
。他们有两种不同的东西。