凭证容器

CredentialsContainer 接口表示实现对象包含敏感数据,Spring Security 内部使用该接口在成功认证后擦除认证凭据。 大多数 Spring Security 内部领域类都实现了此接口,例如 UserUsernamePasswordAuthenticationTokenspring-doc.cadn.net.cn

ProviderManager管理器检查返回的Authentication是否实现了此接口。 如果是,则调用eraseCredentials方法以从对象中移除凭据。spring-doc.cadn.net.cn

如果你希望自定义的认证对象在认证完成后清除其凭据,应确保这些类实现 CredentialsContainer 接口。spring-doc.cadn.net.cn

编写自己的 AuthenticationProvider 实现的用户应当在那里创建并返回一个适当的 Authentication 对象(不包含任何敏感数据),而不是使用此接口。spring-doc.cadn.net.cn