在 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。
可以使用像下面这样的域 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。