Из-за кросс-платформенных ограничений я пытаюсь вывести цепочку фильтров из-под безопасности пружины.Хотя он прекрасно работает, когда я задаю список фильтров как строковый литерал, если я пытаюсь использовать 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?