|
对于最新的稳定版本,请使用 Spring Security 7.0.4! |
凭证容器
CredentialsContainer 接口表示实现对象包含敏感数据,Spring Security 内部使用该接口在成功认证后擦除认证凭据。
大多数 Spring Security 内部领域类都实现了此接口,例如 User 和 UsernamePasswordAuthenticationToken。
ProviderManager管理器检查返回的Authentication是否实现了此接口。
如果是,则调用eraseCredentials方法以从对象中移除凭据。
如果你希望自定义的认证对象在认证完成后清除其凭据,应确保这些类实现 CredentialsContainer 接口。
编写自己的 AuthenticationProvider 实现的用户应当在那里创建并返回一个适当的 Authentication 对象(不包含任何敏感数据),而不是使用此接口。