簡體   English   中英

Java 配置 Spring Security FORM_LOGIN_FILTER

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM