2021. 6. 27. 15:48ㆍSpring Security/Spring Boot Jwt with JPA and Redis
프로젝트 설정은 메이븐 모듈로 api-server, auth-server로 생성합니다.
api-server는 쇼핑몰로 예를 들면 쇼핑몰 구현을 위한 API 연동을 위한 프로젝트라고 생가하면 됩니다. api-server에서는 Token의 발급, 재발급, 폐기 기능을 구현하지 않습니다.
auth-server는 사용자 등록, 토큰의 발급, 재발급, 토큰 폐기를 관리합니다.
위와 같이 나눈 이유는 보안적인 측면과 MSA 서비스 구현시 기능의 중복을 피할 수 있기 때문입니다.
아래 그림은 프로젝트 구조입니다.
프로젝트 설정 완료 후 auth-server 실행 후 테이블 생성 및 데이터 확인을 합니다.
테이블은 Entity Class 기반으로 자동 생성되게 되어 있습니다.
H2DB 접속
브라우저에서 http://localhost:10001/h2db로 접속합니다.
정상적으로 접속하였다면 아래와 같은 그림이 보일것입니다.
테이블 확인
AUTHORITY, USER Entity 기반으로 두개의 테이블이 생성이 되고 두 Entity의 관계는 Many-To-Many 관계 이므로 USER_AUTHORITY 테이블까지 생성이 됩니다.
아래의 그림을 보면 정상적으로 테이블이 생성된것을 확인 할 수 있습니다.
데이터 확인
resources/data.sql 파일이 서버 시작시 실행 되면서 USER 테이블에 사용자 정보가 등록이 되고 AUTHORITY 테이블에는 사용자 권한이 등록이되고 USER_AUTHORITY 테이블에는 사용자와권한 정보가 등록이 되게 됩니다.
아래 그림을 보면 사용자 테이블에 admin이 정상적으로 등록된 것을 확인 할 수 있습니다.
예제 소스는 아래 사이트에 다운받으실수 있습니다.
https://github.com/roopy1210/spring-boot-security-jwt-with-jpa-and-redis
'Spring Security > Spring Boot Jwt with JPA and Redis' 카테고리의 다른 글
AccessToken 재발급 테스트 (0) | 2021.07.02 |
---|---|
AccessToken 재발급 프로세스 (0) | 2021.06.28 |
로그인 테스트 (0) | 2021.06.27 |
로그인 프로세스 (0) | 2021.06.27 |
Token Life Cycle And Cookie (0) | 2021.06.27 |