在Spring Security中实现UserDetails和CredentialsContainer

时间:2015-08-10 13:54:10

标签: java spring spring-security

我想在登录后删除用户的凭据,因此我在我的帐户类中实现UserDetails和CredentialsContainer。

@Entity
public class Account implements UserDetails, CredentialsContainer {
...

但是,在文档中,它说CredentialsContainer 仅供内部框架使用

所以我想知道这是否会成为一个问题。

1 个答案:

答案 0 :(得分:1)

您可以实现该界面。但是,如果您正在编写自己的AuthenticationProvider,则无意实现。来自javadoc:

  

仅供内部框架使用。正在编写自己的用户   AuthenticationProvider实现应该创建和   在那里返回一个适当的Authentication对象,减号   任何敏感数据,而不是使用此接口。

因此,您可以实现它,以便Spring Security将在您的应用上调用eraseCredentials。但是,建议您不要在RewriteCond %{HTTPS} on RewriteCond ${REQUEST_URI} !(finance/enquiryForm|offerentry) RewriteRule (.*) http://dev.staging.co.uk/$1 [L,R=301] RewriteCond %{HTTPS} off RewriteRule (finance/enquiryForm|offerentry) https://dev.staging.co.uk%{REQUEST_URI} [NE,L,R=301] 上调用eraseCredentials。