CredentialsContainer
CredentialsContainer 介面表示實現物件包含敏感資料,並由 Spring Security 在成功認證後內部用於擦除認證憑據。此介面由大多數 Spring Security 內部領域類實現,例如 User 和 UsernamePasswordAuthenticationToken。
ProviderManager 管理器檢查返回的 Authentication 是否實現了此介面。如果是,它會呼叫 eraseCredentials 方法 從物件中移除憑據。
如果您希望您的自定義認證物件在認證後擦除其憑據,您應該確保這些類實現了 CredentialsContainer 介面。
編寫自己的 AuthenticationProvider 實現的使用者應該在那裡建立並返回一個適當的 Authentication 物件,減去任何敏感資料,而不是使用此介面。