2013-07-22 49 views
0

每当我运行我的web应用程序并且进入默认页面时,我的权限内会收到一个ROLE_ANONYMOUS用户。但是,当我闲置时,会话超时导致我的invalid-session-url被触发。无论如何,从会话超时中排除未经身份验证的用户?春季安全:当用户未通过身份验证时,会话失效

编辑:我发现最简单的方法是设置一个InvalidSessionStrategy。问题是,我不知道如何去做。我并不需要创建自己的SessionManagementFilter实现。我想要的是控制应用程序如何处理invalid-session-url。谁能帮我吗?

回答

0

即使对于未通过身份验证的用户,进行会话也是一种很好的做法。以重定向之前检查身份验证的方式实现无效会话URL。如果用户未通过身份验证,则重定向到会话空闲超时页面。

+0

每当应用程序触发invalid-session-url时,我就失去了我以前拥有的所有权限,我得到的所有权限都是ROLE_ANONYMOUS。 – mpmp

+0

@MiguelPortugal这就是应该发生的事情。如果用户没有通过身份验证,他肯定没有任何权限? – EJP

+0

是的,我知道,但是如果我曾经被认证 - 例如,我有一个名为ROLE_USER的角色 - 它一旦到达无效会话URL就会消失。由于会话已被无效,因此我以前所有的角色都消失了,因为Spring显然清除了所有内容。 – mpmp

相关问题