在 Spring 引导项目中使用域 class 来实现 UserDetails 接口是否可以

Is it OK to use a domain class to implement UserDetails interface in a Spring Boot project

可以使用像下面这样的域 class 在 Spring Boot with Hibernate 中实现 UserDetails 接口吗?或者最好使用具有私有用户实例的包装器 class?

@Entity
@Table(name = "users")
public class User
    {

    // All fields have setters and getter that aren't included in the code

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "user_id")
    private Integer id;

    @Column(name = "email")
    private String email;

    @Column(name = "username")
    private String userName;

    @Column(name = "password")
    @Transient
    private String password;

    }

没关系。您将必须实施几个处理角色功能的方法。同样根据我的经验,用户名和密码必须作为 class 属性存在。

下面是如何使用 springboot 实现 JWT 的一个很好的例子:https://auth0.com/blog/implementing-jwt-authentication-on-spring-boot/

它包含一个实现 UserDetails 的用户 class。