0 0

请教Spring Security验证问题5

请问一下,我使用Spring Security配置2个角色,

一个

ROLE_TEST  另一个为  ROLE_ADMIN

权限设置了

ROLE_TEST 不能访问 /admin/test.action

而 ROLE_ADMIN 则全部可以通过

————————————————————————————————

问题如下:

当我使用 ROLE_TEST登陆入去后,进行/admin/test.action 则spring security抛出一个没权限的异常,进行配置的没权限访问提示页面。

但是我退出登陆后,用 ROLE_ADMIN角色进入,访问同样资源,很奇怪,也是显示没权限。

我发现,当过段时间,或换另一台计算是,ROLE_ADMIN是可以访问那个资源的,我怀疑是Spring Security的session问题,还保存了

没权限时的信息,就是logout后,那些信息还没清除,要等session过期或换其它电脑就可以。


请问一下,像这种情况如何处理。?

问题补充:
jobar 写道
session-management 配置session-fixation-protection=newSession了吗?



这个还没配置,我先试试,先谢谢~

问题补充:
jobar 写道
session-management 配置session-fixation-protection=newSession了吗?


忘记了说,我的是spring security2.05喔,有这个配置项吗

问题补充:
jobar 写道
引用
忘记了说,我的是spring security2.05喔,有这个配置项吗


2.05不太清楚。3.0肯定有



有这个配置,配置如下:

<sec:http auto-config="true" access-decision-manager-ref="accessDecisionManager"
servlet-api-provision="false"
access-denied-page="/html/error_page_access_denied.html"
session-fixation-protection="newSession" >

<!-- 无需进行权限验证的路径 -->
<!--  sec:intercept-url pattern="/admin/*" filters="none" -->
<sec:intercept-url pattern="/admin/admin!login.action" filters="none" />
<sec:intercept-url pattern="/template/*" filters="none" />

<!-- login-page 登录页面 -->
<!-- default-target-url 登录成功后跳转的URL -->
<!-- always-use-default-target 是否登录后必须访问default-target-url -->
<!-- authentication-failure-url 登录失败后跳转的URL -->

<sec:form-login
login-page="/admin/admin!login.action"
login-processing-url="/admin/loginVerify"
default-target-url="/admin/admin!main.action"
authentication-failure-url="/admin/admin!login.action"
always-use-default-target="true"  />


<sec:logout invalidate-session="false" logout-success-url="/admin/admin!login.action" logout-url="/admin/logout" />

<sec:concurrent-session-control max-sessions="1"/>

   
</sec:http>

问题补充:
jobar 写道
2.0.5是有的,请参考:http://static.springsource.org/spring-security/site/docs/2.0.x/reference/appendix-namespace.html#session-fixation-protection


还是不行呢。

问题补充:
jobar 写道
<sec:logout invalidate-session="false" logout-success-url="/admin/admin!login.action" logout-url="/admin/logout" /> 


invalidate-session="false" 这个为什么要配false?



这个我改为 invalidate-session="true" 还是不行
2012年4月09日 13:00

5个答案 按时间排序 按投票排序

0 0

同样遇到这样的问题,不知道你是怎样解决的

2016年5月19日 21:42
0 0

<sec:logout invalidate-session="false" logout-success-url="/admin/admin!login.action" logout-url="/admin/logout" /> 


invalidate-session="false" 这个为什么要配false?

2012年4月09日 15:29
0 0

2.0.5是有的,请参考:http://static.springsource.org/spring-security/site/docs/2.0.x/reference/appendix-namespace.html#session-fixation-protection

2012年4月09日 15:20
0 0

引用
忘记了说,我的是spring security2.05喔,有这个配置项吗


2.05不太清楚。3.0肯定有

2012年4月09日 15:14
0 0

session-management 配置session-fixation-protection=newSession了吗?

2012年4月09日 13:50

相关推荐

Global site tag (gtag.js) - Google Analytics