Spring Boot项目中多种用户类型的身份验证

问题描述 投票:0回答:1

我要做一个Spring Boot项目学校管理系统。用户有很多种类型。这些用户可以登录。我是否需要创建一个用户实体,然后从用户类扩展其他实体?

这里让我想到的是实体之间存在关系。 老师、学生、经理、监护人

由于我在创建登录系统时正在处理单个实体,因此我不知道如何通过不同的实体来完成此操作。

@Data
@AllArgsConstructor
@RequiredArgsConstructor
@Builder
@Entity
@Table(name = "users")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private String id;
    private String username;
    private String password;
    private String name;
    private String surname;
    private String gender;
    private Role role;

}
@Entity
@Table(name = "teachers")
public class Teacher extends User{
    private String subject;
}
@Entity
@Table(name = "students")
public class Student extends User{

    private String illness;

    @ManyToOne
    @JoinColumn(name = "guardian_id")
    private Guardian guardian;
}


@Entity
@Table(name = "guardians")
public class Guardian extends User{
    @OneToMany(mappedBy = "guardian", cascade = CascadeType.ALL)
    private List<Student> students;
}
mysql spring spring-boot spring-security entity-relationship
1个回答
0
投票

我还在寻找一种通过另一个实体执行操作的方法。我很好奇。

© www.soinside.com 2019 - 2024. All rights reserved.