我想在登录后删除用户的凭据,因此我在我的帐户类中实现UserDetails和CredentialsContainer。
@Entity
public class Account implements UserDetails, CredentialsContainer {
...
但是,在文档中,它说CredentialsContainer 仅供内部框架使用 。
所以我想知道这是否会成为一个问题。
答案 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。