我只是针对即将到来的项目的一些规范,并且偶然发现了Spring Security的AuthenticationProvider接口的细节。为什么在身份验证(..)返回的身份验证对象仍然需要包含凭据?
对于方法Authentication authenticate(Authentication authentication)
返回的对象又是一个Authentication
对象。根据来自Spring的java文档,它表示返回值:
返回: 包含凭据的完全身份验证对象。如果AuthenticationProvider无法支持传递的Authentication对象的身份验证,则可能返回null。在这种情况下,将尝试支持所提供的Authentication类的下一个AuthenticationProvider。
为什么在成功通过身份验证后对象仍然包含凭据?这对我没有意义。认证之后,我想立即清除有关凭证的所有信息,或者为什么不应该?
谢谢,这正是我所期望的。所以Java文档有点令人困惑,因为它明确表示“包括凭证的完全验证对象”。 –