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인지 구분 할 목적으로 생성하였다.
'Spring Framework' 카테고리의 다른 글
RestTemplate 과 WebClient (0) | 2023.10.18 |
---|---|
트랜잭션, REQUIRES_NEW (0) | 2023.07.26 |
[Spring] 의존성 주입, DI(Dependency Injection) (0) | 2023.02.24 |
[Spring Security] 회원가입, 로그인 구현(2) - 회원가입 (0) | 2023.02.06 |
[SpringBoot] CSRF 란? (1) | 2023.02.06 |