是#"正常"要求Spring Security中的AuthenticationFilter中的`ConfigurationAttribute?

时间:2012-02-08 16:14:58

标签: java spring spring-security

或者是否确定了设计问题?

要决定是否应在我的自定义AuthenticationFilter中继续过滤器链,我需要检查AuthenticationAnonymousAuthenticationToken 是否当前匹配的网址具有access="permitAll"属性(通常由FilterSecurityInterceptor处理)。

所以

<!-- chain should continue past authentication regardless of authentication type (anonymous/actual) -->
<security:intercept-url pattern="/pages/public/public.html" access="permitAll"/>

<!-- chain should continue only on non-anonymous authentication -->
<security:intercept-url pattern="/pages/authenticated/stuff.html" access="isAuthenticated()"/>

换句话说,我需要一种方法来识别我应该跳过身份验证的URL路径,但仍然有一个匿名令牌,所以安全拦截器像往常一样工作。

我正在使用Spring Security 3.0.1,因此目前不支持针对不同网址路径的单独过滤器链。

1 个答案:

答案 0 :(得分:1)

嗯,你正在混合身份验证和授权,所以它肯定是一种气味。做access="IS_AUTHENTICATED_ANONYMOUSLY"会有什么问题?