我只是針對即將到來的項目的一些規範,並且偶然發現了Spring Security的AuthenticationProvider接口的細節。爲什麼在身份驗證(..)返回的身份驗證對象仍然需要包含憑據?
對於方法Authentication authenticate(Authentication authentication)
返回的對象又是一個Authentication
對象。根據來自Spring的java文檔,它表示返回值:
返回: 包含憑據的完全身份驗證對象。如果AuthenticationProvider無法支持傳遞的Authentication對象的身份驗證,則可能返回null。在這種情況下,將嘗試支持所提供的Authentication類的下一個AuthenticationProvider。
爲什麼在成功通過身份驗證後對象仍然包含憑據?這對我沒有意義。認證之後,我想立即清除有關憑證的所有信息,或者爲什麼不應該?
謝謝,這正是我所期望的。所以Java文檔有點令人困惑,因爲它明確表示「包括憑證的完全驗證對象」。 –