Как вы выводите пружинную цепь фильтра? - PullRequest
0 голосов
/ 24 марта 2011

Из-за кросс-платформенных ограничений я пытаюсь вывести цепочку фильтров из-под безопасности пружины.Хотя он прекрасно работает, когда я задаю список фильтров как строковый литерал, если я пытаюсь использовать PropertyPlaceHolderConfigurer, чтобы переместить строку фильтров в файл свойств, используя этот код:

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

Я получаю следующеесообщение об ошибке:

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 пытается обработать всю строку как одно имя бина.

Есть ли способ обойти этоили это ограничение среды Spring?

1 Ответ

0 голосов
/ 24 марта 2011

Интересно, будет ли что-то подобное работать?(Это не проверено.)

<property name="filterList">
    <list ref="${kerberosFilters}"/>
</property>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...