두근두근 & 차근차근 프로그래밍
2022.01.06 본문
· JPA 활용 + Spring Boot
[ ※ MariaDB 접속 라이브러리 : JPA 라이브러리(단독) ]
[ Spring Security 적용 ]
· 환경 설정 및 Test 기능 실행
· [ @MappedSuperclass ]를 통해, '날짜' 관련 컬럼을 매번 자동으로 생성
· ENUM ( 12월 14일에 관련 내용 배운적 있음 )
- ( 문자형 ) · ( 숫자형 ) · ( 한글 표현 ) 중에서 원하는 것으로 사용 가능
- ( 한글 표현 )을 사용하기 위한 [ 방법 2 ]
- [ .name( ) ] => ( 문자형 )
- [ .ordinal( ) ] => ( 숫자형 )
· [ @Enumerated(EnumType.STRING) ]
- 테이블 생성 시, 컬럼의 데이터 타입을 VARCHAR로 설정
=> ENUM의 ( 문자형 ) 값으로 컬럼 값을 설정
· [ @ElementCollection ] : '( 1 대 多 관계 )의 단방향'으로 설정
( [ @OneToMany ]와 완벽히 같지는 않지만, 비슷한 효과를 냄 )
· 웹 구현 ( 살짝만 )
- 부여받은 롤(Role)에 따라, 해당하는 링크가 '보이는 것'과 해당하는 URI에 '접속 가능한 것'을 각기 다르게 설정
· 내가 별도로 만든 [ MemberDetailsService(클래스) ]와 [ MemberDetails(클래스) ]의 역할
=> 이 2개가 없으면, "롤"을 부여 받아도, '로그인이 안 됨(= 권한 인증에 실패함)'
( ※ 1월 5일에 한 방법보다 더 효율적으로 코드문 작성 )
· 로그인 할 때, ‘이메일(ID)’에 대한 대소문자를 구분하지 않아도 정상적으로 로그인이 이루어지는 문제에 대한 해결 방안
· [ 맨 처음에 Spring Starter Project를 만들 때, 'Spring Security'를 체크하여 적용 ]시, **Security**에서 디폴트로 설정해 놓은 것들
- 로그인 해야 될 때, **내가** 별도로 ( 로그인 창 )을 만들지 않아도,
**Security**에서 기본적으로 만들어 놓은 ( 로그인 창 )이 뜸
- 로그인 성공 시, 로그인 Session이 유지되면서, 원래 가려고 했던 곳으로 알아서 redirect 됨
- ‘로그아웃’ 시, 무조건 ( 로그인 창 )이 다시 뜸
- **Security**에서 기본적으로 만들어 놓은 ( 로그인 창 )과 ( 로그아웃 창 )에,
'CSRF Token(CSRF 공격에 대한 방어책)’이 디폴트로 설정되어 있음
※ 만일, **내가** 별도로 ( 로그인 창 )을 만든 경우, **내가** 별도로 만든 ( 로그인 창 ) 및 '로그아웃 처리 하는 곳'에다가,
'CSRF Token(CSRF 공격에 대한 방어책)'을 내가 별도로 직접 설정해줘야 함
※ **내가** 별도로 ( 로그인 창 )을 만들 경우, 로그아웃 해야 될 때,
**Security**에서 기본적으로 만들어 놓은 ( 로그아웃 창 )이 아예 뜨지 않음 !!!!!
https://best-mint-34c.notion.site/01-06-da09c75e89b64f34864241f3c7ddf766
'[국비지원] AWS 클라우드 융합 자바(JAVA) 웹개발자 양성과정' 카테고리의 다른 글
2022.01.10 (0) | 2022.01.17 |
---|---|
2022.01.07 (0) | 2022.01.11 |
2022.01.05 (0) | 2022.01.11 |
2022.01.04 (0) | 2022.01.11 |
2022.01.03 (0) | 2022.01.11 |