Настройте Spring Security для использования настраиваемого UsernamePasswordAuthenticationFilter

Я реализовал свой собственный LowerCaseUsernamePasswordAuthenticationFilter , который является просто подклассом UsernamePasswordAuthenticationFilter .

Но теперь моя проблема в том, как настроить безопасность Spring для использования этого фильтра.

До сих пор я использовал:

<security:http auto-config="true" use-expressions="true">
    <security:form-login login-processing-url="/resources/j_spring_security_check" login-page="/login" authentication-failure-url="/login?login_error=t" />
    <security:logout logout-url="/resources/j_spring_security_logout" />

    <security:intercept-url pattern="/**" access="isAuthenticated()" requires-channel="${cfma.security.channel}" />
</security:http>

Действительно ли мне нужно выключить автоконфигурацию и нужно настроить все фильтры вручную? - Если это правда, может ли кто-нибудь привести пример?


Способ добавления простого security: custom-filter :

<security:http ...>

   <security:form-login login-processing-url="/resources/j_spring_security_check" login-page="/login" authentication-failure-url="/login?login_error=t" />
   <security:custom-filter ref="lowerCaseUsernamePasswordAuthenticationFilter" position="FORM_LOGIN_FILTER"/>
   ...
 </security:http>

приводит к исключению с этим сообщением:

Проблема конфигурации: фильтрующие компоненты и 'Корневой компонент: класс [org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter]; scope =; abstract = false; lazyInit = false; autowireMode = 0; dependencyCheck = 0; autowireCandidate = true; первичный = ложный; factoryBeanName = null; factoryMethodName = null; initMethodName = null; destroyMethodName = null 'имеют такое же значение' order '. При использовании пользовательских фильтров убедитесь, что позиции не конфликтуют с фильтрами по умолчанию. В качестве альтернативы вы можете отключить фильтры по умолчанию, удалив соответствующие дочерние элементы из.

14
задан Ralph 11 October 2011 в 15:26
поделиться