CredentialsContainer
CredentialsContainer
接口 表示实现对象包含敏感数据,并由 Spring Security 内部用于在成功身份验证后擦除身份验证凭据。此接口由大多数 Spring Security 内部域类实现,例如 User 和 UsernamePasswordAuthenticationToken。
ProviderManager
管理器检查返回的 Authentication
是否实现了此接口。如果是,它会调用 eraseCredentials
方法 从对象中删除凭据。
如果您希望您的自定义身份验证对象在身份验证后擦除其凭据,则应确保这些类实现了 CredentialsContainer
接口。
编写自己的 AuthenticationProvider
实现的用户应在其中创建并返回适当的 Authentication
对象,减去任何敏感数据,而不是使用此接口。