2011-03-24 2 views
0

플랫폼 간 제약으로 인해 스프링 보안에서 필터 체인을 외부화하려고합니다. 나는 다음과 같은 오류 메시지가 나타납니다스프링 필터 체인을 어떻게 구체화합니까?

<security:filter-chain pattern="/**/*auth=kerberos*" 
      filters="${kerberosFilters}"/> 

: 나는 속성 파일로 출력 필터 문자열을 이동 PropertyPlaceholderConfigurer와를 사용하려고하면이 코드를 사용하여 리터럴 문자열로 필터 목록을 지정할 때 잘 작동하지만 :

Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener 

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springSecurityFilterChain' defined in class path resource 

[config/common/security/spring-security.xml]: 
Cannot resolve reference to bean 'httpSessionContextIntegrationFilter,logoutFilter,spnegoAuthenticationProcessingFilter,securityContextHolderAwareRequestFilter,spnegoExceptionTranslationFilter,filterSecurityInterceptor' 
while setting bean property 'filterChainMap' with key [/**/*auth=kerberos*] with key [0]; 
    nested exception is 
     org.springframework.beans.factory.NoSuchBeanDefinitionException: 
      No bean named 
       'httpSessionContextIntegrationFilter,logoutFilter,spnegoAuthenticationProcessingFilter,securityContextHolderAwareRequestFilter,spnegoExceptionTranslationFilter,filterSecurityInterceptor' 
      is defined 

속성 파일에서 읽을 때 Spring이 전체 문자열을 단일 bean 이름으로 처리하려고하는 것처럼 보입니다.

이 문제를 해결할 수있는 방법이 있습니까 아니면 스프링 프레임 워크의 한계입니까?

답변

0

이런 식으로 작동하는지 궁금합니다.

<property name="filterList"> 
    <list ref="${kerberosFilters}"/> 
</property> 
+0

이것이 네임 스페이스 인 것을 감안할 때, 어떻게 XML 구성에 넣을 지 모르겠습니다. 어떤 아이디어? – dskiles

관련 문제