7. Spring Security 4 JDBC 를 이용한 로그인 인증방법
인터넷에 너무 복잡하게 하시는 것 같아 간단하게 쓰실 분들에게 좋을 것 같습니다.
시나리오
SpringSecurity4 를 이용하여 JDBC 로그인을 손쉽게 구현을 해봅니다.
JPA, BCrypt 를 사용하였습니다.
Spring Security Config 가 제일 중요합니다.
Member Model
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String mid;
private String mpw;
@OneToMany(cascade=CascadeType.ALL,fetch = FetchType.EAGER)
@JoinColumn(name="mem_no")
private List<MemberRole> roles;Member 모델에는 다음과 같이 mid(유저 아이디) , mpw(유저 패스워드), Role(권한) => 저는 권한을 여러개 주고 싶어서 이렇게 한것이기 때문에 상황에 맞게 바꾸시면 됩니다
Member Role
Member Role은 Member의 권한을 나타냅니다.
SpringBoot role 조건
DB에 저장하실 때는 ROLE_ADMIN, ROLE_MEMBER 와 같이 저장하셔야 합니다.
SecurityConfig 하단에서 더 설명합니다.
Login View
로그인 뷰는 다음과 같이 합니다.
Controller
본인의 경우 다음과 같이 Controller를 구성하였습니다.
Spring Security Config **
URL에 대한 권한을 설정할 때 hasRole("{권한}") 함수를 사용하게 되는데 이때, {권한}에는 ADMIN,MEMBER 등등이 사용됩니다.
하지만 DB에 저장하실때는 'ROLE_' 을 꼭 붙여야 됩니다.!!
다음 코드를 확인하셔서 진행하시는 프로젝트를 성공하시기 바랍니다. 감사합니다.
Last updated
Was this helpful?