【发布时间】:2015-08-10 23:05:26
【问题描述】:
我想在登录后删除用户的凭据,所以我在我的 Account 类中实现了 UserDetails 和 CredentialsContainer。
@Entity
public class Account implements UserDetails, CredentialsContainer {
...
但是,在文档中它说 CredentialsContainer 仅供内部框架使用。
所以我想知道这是否会成为未来的问题。
【问题讨论】:
-
如果是内部使用,你为什么要实现它。有什么好的理由吗?我可以理解实现 UserDetails。
-
CredentialsContainer 有
eraseCredentials方法,我用它在用户登录后擦除用户密码,这是默认行为,您可以使用erase-credentials="false"更改它。 -
感谢您提供的信息,但不建议使用明文密码鬼混。其次,您的应用程序可能会受到法律限制,因为您可以访问明文密码。此外,还有一个特别好的理由称为安全性,这就是为什么擦除凭据的默认值为 true 的原因。此外,这仍然没有解释你为什么要实现那个类,你告诉我它的功能,而不是你想用它做什么。
-
只是为了保持其默认行为。
标签: java spring spring-security