用户详细信息存储最佳实践

User details store best practies

可以从 org.springframework.security.core.userdetails.User 并创建您自己的实现来保存有关用户的更多信息,而不仅仅是 username/password/authorities。所以,我们可以做出类似

的东西
public class CustomUser extends User {
    private MyEntityUser user;
    // getters/setters/contructor
}

并且不要多次从数据库中加载用户信息?

这合法吗?或者是否存在此功能的另一个地方?

这是解决您的问题的好方法之一。在 Java 文档中,有三种合适的方法:

Developers may use this class directly [1], subclass it [2], or write their own UserDetails implementation from scratch [3].

在我的一个项目中,我选择了第三种策略并使用了以下层次结构:

class AccountAuthDetails extends Account implements UserDetails { ... }
class Account { ... }

那时我在 org.springframework.security.core.userdetails.User 没有需要。