從Authentication Processing Filter 的運作流程中,您可以進一步了解Authentication Manager與Authentication Provider的運作原理,以下是流程運作簡圖:

- 前一個Filter將請求、回應與Filter Chain物件傳遞給下一個Authentication Processing Filter。
- 從請求物件中取得使用者名稱、密碼等資訊,用以建立Authentication Token。
- 呼叫Authentication Manager,並將Authentication Token傳遞給它。
- Ahthentication Manager選出一個支援Authentication Token的Authehtication Provider。
- 將Authentication Token傳遞給Authentication Provider。
- 從Authentication Token中取出使用者名稱,傳給User Cache Service用以檢查是否有對應的使用者訊息。
- User Cache Service檢查是否有對應的使用者訊息。
- 傳回User Cache中的使用者訊息,如果沒有對應的訊息則傳回null。
- 如果使用者訊息不為null,進行13,如果為null,進行10。
- 將使用者名稱傳給User Details Service。
- 從資料儲存(檔案、資料庫、directory service)中取得使用者訊息。
- 將使用者訊息傳回。
- 如果可以取得使用者訊息,其密碼與使用者請求中的密碼相符,則將使用者訊息傳給Authentication Manager,否則丟出例外。
- 將使用者訊息傳回給Authentication Processing Filter。
- 將使用者訊息儲存在Security Context中。
- 進行下一個Filter。