본문 바로가기

BACK

[JPA Security Login] 시큐리티 로그인 필수 설정

728x90

"시큐리티 로그인" 이란 ? 

-> 사람이 비밀번호를 입력하면 서버에는 평문으로 넘어오는데,

그 평문을 스프링이 자동으로 암호화하고,

이미(회원가입시) 암호화되서 들어가 있는 디비의 패스워드와 비교하여 로그인하는 것

 

 

1. JpaConfig

 - jpa를 사용한다면 무조건

2. NamingStrategy

 - 명명전략 

3. UserUtils

 - 로그인 상태 제어, 회원 권한 상태 제어

4. WebSecurityConfig
 - password암호화
 - 자동 로그인
 - 권한별 페이지 제어 설정

5. UserLogin
 - 엔티티 설정 (username,password,rememberme 등)

6. CustomLoginFilter
 - UserLogin에 요청하는 값 저장

7. UserSecurityService
 - ex) 이메일=username 판단 

8. CustomLoginSuccessHandler
 - 모두 성공시 리턴

9. CustomLoginFailureHandler
 - 실패시 에러페이지

10. 로그인 컨트롤러
 - @AuthenticationPrincipal 
  : 로그인 세션 정보를 받아오는 방법으로 변경했다.
  : 세션 정보 UserDetails(UserUtils)에 접근할 수 있는 어노테이션
-> userDetails(PrincipalDetails 타입).getUser()
   로그인 세션 정보가 필요한 컨트롤러에서 매번 @AuthenticationPrincipal로 세션 정보를 받아서 사용한다.

11. 로그인 뷰

728x90