2011-08-22 52 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」**,如示例中所示? –