2011-08-22 93 views
1

如果我设置拦截url与filters ='无',每个人都可以访问它,但我无法获得SecurityContextHolder.getContext()。getAuthentication()。getPrincipal(),即使用户是(刚好在http://static.springsource.org/spring-security/site/faq.html#faq-anon-access-denied中提到)all_user和role_user的拦截url

另一方面,如果我设置access ='role_user',那么只有经过身份验证的用户才能访问它。我想允许“未通过身份验证”和“已通过身份验证”的用户访问URL并使用SecurityContextHolder.getContext()。getAuthentication()来检查用户是否已经过身份验证。我应该如何将参数作为拦截url?

+0

能否请您发布的'web.xml'过滤器设置(相关部分)和弹簧安全配置 – Ralph

回答

2
在春季安全配置

使用Access “permitAll”

Spring配置:

<http auto-config="true" use-expressions="true"> 
    <intercept-url pattern="/**" access="permitAll" /> 
</http> 
+0

我试过 不起作用。春天这个工作吗? – cometta

+0

cometta:它应该在Spring 3.0中使用Spring Security 3.0 – Ralph

+0

您是否指定了** use-expressions =“true”**,如示例中所示? –