のサブクラスであるLowerCaseUsernamePasswordAuthenticationFilter
を実装しました。カスタムUsernamePasswordAuthenticationFilterを使用するようにSpringセキュリティを設定する
私の問題は、このフィルタを使用するために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>
私は本当にauto-config
の電源を入れ、手ですべてのフィルタを設定する必要がするのですか? - これが本当なら、誰かが例を挙げてくれますか?
単に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>
はそのメッセージと例外が発生します:
設定問題:フィルタ豆
<lowerCaseUsernamePasswordAuthenticationFilter>
と「ルート豆:クラス[ org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter];スコープ=;抽象的な=偽; lazyInit = false; autowireMode = 0; dependencyCheck = 0; autowireCandidate = true;一次=偽; factoryBeanName = null; factoryMethodName = null; initMethodName = null; destroyMethodName = null 'は同じ' order '値を持ちます。 カスタムフィルタを使用する場合は、その位置がデフォルトのフィルタと矛盾していないことを確認してください。また、デフォルトのフィルタを無効にするには、対応する子要素を削除し、その使用を避けます。