[英]Java Config Spring Security FORM_LOGIN_FILTER
我正在閱讀一些 Spring Security 教程並嘗試在沒有 xml 的情況下實現它們,但我似乎找不到任何關於替換默認UsernamePasswordAuthenticationFilter 的內容。
與這個問題類似,我想從登錄表單中檢索一個額外的參數。 我遇到困難的地方是:
<custom-filter ref="customAuthenticationProcessingFilter" position="FORM_LOGIN_FILTER"/>
為了正確設置它,我是否需要從 AuthenticationManagerBuilder 向下構建? 或者我錯過了什么?
根據此處找到的 Spring Security 文檔:
http://docs.spring.io/spring-security/site/docs/3.0.x/reference/ns-config.html#filter-stack
FORM_LOGIN_FILTER 只是 UsernamePasswordAuthenticationFilter 類的別名。
所以
http.addFilterBefore(new YourFilter(), UsernamePasswordAuthenticationFilter.class);
應該做的伎倆
感謝@Juan 提供良好的文檔鏈接。 但是您必須使用addFilterAt
而不是addFilterBefore
。
所以,這是正確的:
http.addFilterAt(new YourFilter(),UsernamePasswordAuthenticationFilter.class);
這將用您的 CustomFilter 替換現有的默認實現。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.