Spring Framework
[Spring Security] 회원가입, 로그인 구현(1) - Entity 생성
꿈꾸는야오옹
2023. 2. 1. 21:54
SpringBoot프로젝트에서 회원가입 기능을 구현하고 로그인 기능을 구현해 보고자 한다.
첫 단계로 회원 entity를 구성해주었으며 db는 mariaDB를 이용했다.
@SequenceGenerator(name = "seq_gen_mem", sequenceName = "seq_mem", allocationSize = 1, initialValue = 1)
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Getter
@Table(name = "member")
@Entity
public class MemberEntity {
@GeneratedValue(generator = "seq_gen_mem", strategy = GenerationType.SEQUENCE)
@Id
private long mno;
@Column(updatable = false)
private String name;
@Column(updatable = false, unique = true)
private String email;
@Column(updatable = false)
private String pass;
@ElementCollection(fetch = FetchType.EAGER)
@CollectionTable(name = "my_role")
@Builder.Default
@Enumerated(EnumType.STRING)
private Set<MyRole> myRoles = new HashSet<>();
//set<>을 hashSet으로 바꿔주기
public MemberEntity addRoles(MyRole roles) {
myRoles.add(roles); //myRoles 필드에 roles를 추가
return this;
}
}
여기서 MyRole은 enum 파일이며 이를 통해 사용자의 권한을 확인 할 것이다.
@RequiredArgsConstructor
@Getter
public enum MyRole {
USER("USER"),
ADMIN("ADMIN");
private final String roles; //member entity의 메서드에서 사용 할 것
}
user인지 admin인지 구분 할 목적으로 생성하였다.