실습 목표
스프링 시큐리티 6 프레임워크를 활용하여 JWT 기반의 인증/인가를 구현하고 회원 정보 저장(영속성)MariaDB 데이터베이스를 활용한다.
서버는 API 서버 형태로 구축한다. (웹 페이지를 응답하는 것이 아닌 API 클라이언트 요청을 통해 데이터 응답만 확인함)
구현
- 인증 : 로그인
- 인가 : JWT를 통한 경로별 접근 권한
- 회원가입
JWT 인증 방식 시큐리티 동작 원리
- 회원 가입 : 내부 회원 가입 로직은 세션 방식과 JWT 방식의 차이가 없다.
- 로그인 (인증) : 로그인 요청을 받은 후 세션 방식은 서버 세션이 유저 정보를 저장하지만 JWT 방식은 토큰을 생성하여 응답한다.
- 경로 접근 (인가) : JWT Filter를 통해 요청의 헤더에서 JWT를 찾아 검증을 하고 일시적 요청에 대한 Session을 생성한다. (생성된 세션은 요청이 끝나면 소멸됨)
버전 및 의존성
- Spring Boot 3.2.1
- Security 6.2.1
- Lombok
- Spring Data JPA - MariaDB
- Gradle - Groovy
- IntelliJ Ultimate
참조
https://www.devyummi.com/page?id=668cff5ad3b43a6241eb6b6e
'Spring > Spring Security - JWT' 카테고리의 다른 글
Spring Security JWT 7 : 로그인 필터 구현 (0) | 2024.12.21 |
---|---|
Spring Security JWT 5 : DB 연결 및 Entity 작성 (0) | 2024.12.20 |
Spring Security JWT 4 : POSTMAN 설치 (0) | 2024.12.20 |
Spring Security JWT 3 : SecurityConfig 클래스 (0) | 2024.12.20 |
Spring Security JWT 2 : 프로젝트 생성 및 의존성 추가 (0) | 2024.12.20 |