Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring安全性:当用户不在';t认证_Java_Spring_Session_Spring Security - Fatal编程技术网

Java Spring安全性:当用户不在';t认证

Java Spring安全性:当用户不在';t认证,java,spring,session,spring-security,Java,Spring,Session,Spring Security,每当我运行我的web应用程序并转到默认页面时,我会在我的权限内获得一个ROLE\u ANONYMOUS用户,这是预期的。但是,当我空闲时,会话超时,从而触发我的无效会话url。是否仍有将未经身份验证的用户排除在会话超时之外的方法 编辑:我找到的最简单的方法是设置InvalidSessionStrategy。问题是,我不知道怎么做。我真的不需要创建自己的SessionManagementFilter实现。我想要的是控制应用程序如何处理无效会话url。有人能帮我吗?即使对于未经身份验证的用户,会话也

每当我运行我的web应用程序并转到默认页面时,我会在我的权限内获得一个
ROLE\u ANONYMOUS
用户,这是预期的。但是,当我空闲时,会话超时,从而触发我的
无效会话url
。是否仍有将未经身份验证的用户排除在会话超时之外的方法


编辑:我找到的最简单的方法是设置
InvalidSessionStrategy
。问题是,我不知道怎么做。我真的不需要创建自己的
SessionManagementFilter
实现。我想要的是控制应用程序如何处理
无效会话url
。有人能帮我吗?

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

每当应用程序触发无效的会话url时,我就失去了以前拥有的所有权限,只能获得ROLE_ANONYMOUS。@MiguelPortugal这就是应该发生的事情。如果用户没有经过身份验证,他肯定不会有任何权限?是的,我知道,但如果我经过身份验证——例如,我有一个名为role_user的角色——一旦它到达无效的会话url,它就会消失。由于会话已由无效,我以前的所有角色都已消失,因为显然Spring会清除所有内容。您所说的Spring清除所有内容是什么意思?您将角色存储在哪里?在使会话无效时,您到底在做什么?根据我观察到的情况,每当Spring检测到无效会话时,存储在身份验证对象中的权限都会被删除并替换为默认的“ROLE_ANONYMOUS”。基本上,会立即创建一个新会话。我想做的是,根据身份验证对象中存储的角色(权限),本质上有多个“无效会话url”。角色\u ANONYMOUS应重定向到匿名会话已过期角色\u**应重定向到会话已过期