我們正在從基於LDAP的認證轉向SSO(Oracle的WebGate)。如何在春季結合認證過濾器
現在對於基於LDAP的我們正在使用基於形式的認證(UsernamePasswordAuthenticationFilter
)在FORM_LOGIN_FILTER
的位置。
對於SSO用戶將被預先認證,並且將發送帶有他的用戶名的請求頭。我打算使用RequestHeaderAuthenticationFilter
在PRE_AUTH_FILTER
的位置。
問題是我們需要同時存在這兩個過濾器,並根據屬性文件中的值在它們之間切換。這適用於SSO在生產中無法按預期工作的情況,因此我們可以輕鬆回退到LDAP。
我的問題是如何正確實現這一點。如果具有這些位置的兩個過濾器將同時出現,是否會有任何副作用?擴展這兩個過濾器並在繼承類中添加屬性檢查會更好嗎?還是創建複合過濾器會更好地處理它們之間的切換?
感謝您的答案戴夫。在我的情況下應用程序重新啓動切換是可以接受至於spring配置文件 - 我們不使用它們,通常使用bean別名處理env寬設置。關於個人筆記 - 我幾年前在觀看關於Spring Integration的演示文稿,並且永遠不會想象你會在stackoverflow上回答我的問題。生活是如何運作是很有趣的。 –