0

如何在使用@EnableZuulProxy + @ EnableOAuth2Sso註釋時攔截身份驗證失敗?@ EnableZuulProxy + @ EnableOAuth2Sso + AuthenticationFailureHandler

我有一個授權服務器,用於對照Microsoft Active Directory服務器對用戶進行身份驗證。我所知道的,在春季雲的過程是這樣的:

  1. 用戶試圖通過Zuul代理服務器訪問的角端
  2. 的Zuul服務器檢查授權與授權服務器
  3. 授權服務器依次驗證針對Microsoft Active Directory服務器的用戶憑據,並在必要時向用戶顯示登錄頁面
  4. 用戶輸入用戶名和密碼
  5. 最後,用戶的密碼爲過期了,還有微軟AD通過錯誤消息
  6. 答覆拒絕認證的授權服務器,授權服務器向Zuul服務器發送認證錯誤,然後再通過查詢參數(/登錄?錯誤)

我想要做的就是更改查詢參數的步驟6,喜歡的東西/登錄?error_expired,這樣我就可以顯示一條消息給用戶,告訴他,他必須更新他的密碼在繼續之前。

在此先感謝您的幫助。

+0

答案是編寫一個自定義過濾器。 – spencergibb

+0

@spencergibb,所以我必須做一些像httpSecurity.addFilterAfter(新的CustomFilter(),BasicAuthenticationFilter.class)?如果是這樣,我應該用什麼來放置過濾器。我試過BasicAuthenticationFilter之後,但沒有成功。 – jpavel

+1

自定義zuul過濾器。 https://stackoverflow.com/questions/31055736/creating-custom-zuul-filters https://github.com/spring-cloud-samples/sample-zuul-filters/ – spencergibb

回答

0

最後我發現我錯了一些假設。我只是使用普通的Spring Security技術在授權服務器本身中攔截失敗的身份驗證嘗試。

相關問題