Spring Boot 3 & Security 6 시리즈: JWT 검증 인터셉터 작성하기 (6편)
·
Spring/Spring Security
JwtToken의 유효성을 검증할 인터셉터 클래스를 작성하자 프로젝트 구성은 아래의 포스트에 있다.👇🏻👇🏻 Spring Boot3에서 Spring Security6 사용하기: SecurityConfig 클래스 작성하기 (2편) SpringBoot에서 Spring Security를 사용하는 방법을 알아보자 Spring security6의 FilterChain방식👇🏻👇🏻 Spring Security6 - Authentication(인증) 코딩은 글쓰기라고 생각한다. 꾸준히 기록하며 내 개발 실력을 키 curiousjinan.tistory.com 1. JwtTokenInterceptor - 인터셉터 클래스 설정 jwtTokenInterceptor는 Spring의 HandlerInterceptor 인터페이스를 ..
Spring Boot 3 & Security 6 시리즈: AuthenticationProvider, 인증 핸들러 구현하기 (5편)
·
Spring/Spring Security
이번에는 시큐리티의 인증 제공자와 인증에 성공, 실패했을때 결과를 핸들링할 handler 클래스를 작성하자 1. 인증 제공자 클래스 작성 - CustomAuthenticationProvider 1-1. CustomAuthenticationProvider 클래스 작성 (인증 제공자) 이 코드는 CustomAuthenticationProvider라는 클래스로, 스프링 시큐리티의 AuthenticationProvider 인터페이스를 구현한 사용자 정의 인증 제공자이다. 이 클래스는 사용자의 인증을 처리하는 역할을 한다. @Slf4j @RequiredArgsConstructor public class CustomAuthenticationProvider implements AuthenticationProvider..
Spring Boot 3 & Security 6 시리즈: JWT 인증 필터 JwtAuthorizationFilter 작성(4편)
·
Spring/Spring Security
이번 포스트에서는 Jwt 인증 필터를 생성하고 Spring Security의 필터체인(FilterChain)에 연결하자 코드를 사용할때 import는 시리즈 2편에 작성된 구성을 확인해 보고 사용하는 것을 추천한다.(버전이 안맞아서 오류가 생기는 경우가 존재)👇🏻👇🏻 Spring Boot3에서 Spring Security6 사용하기: SecurityConfig 클래스 작성하기 (2편) SpringBoot에서 Spring Security를 사용하는 방법을 알아보자 Spring security6의 FilterChain방식👇🏻👇🏻 Spring Security6 - Authentication(인증) 코딩은 글쓰기라고 생각한다. 꾸준히 기록하며 내 개발 실력을 키 curiousjinan.tistory.com 1...
Spring Boot 3 & Security 6 시리즈: WebConfig 클래스 작성 (3편)
·
Spring/Spring Security
웹 설정을 추가로 정의하기 위해 WebMvcConfigurer를 구현해주는 WebConfig 클래스를 작성하자 1. WebConfig 설정하기 1-1. SSR(Server Side Rendering)전용 WebConfig 설정하기 WebMvcConfigurer를 구현하는 WebConfig 클래스를 작성한다. WebConfig는 웹 애플리케이션의 웹 설정을 정의하는 클래스다. 여기서는 인터셉터, 뷰 컨트롤러, 정적 리소스 핸들러 등을 설정한다. @Slf4j @RequiredArgsConstructor public class WebConfig implements WebMvcConfigurer { private final JwtTokenInterceptor jwtTokenInterceptor; @Overrid..
Spring Boot 3 & Security 6 시리즈: SecurityConfig 클래스 작성하기 (2편)
·
Spring/Spring Security
SpringBoot에서 Spring Security를 사용하는 방법을 알아보자📌 서론Spring Boot 3 프로젝트에서 Thymeleaf와 함께 JWT (JSON Web Token) 인증 방식을 적용했다. 일반적으로, JWT는 클라이언트 사이드 렌더링(CSR) 환경인 React, Vue, Android, iOS 앱에서 주로 사용된다. 이 방식에서 클라이언트는 인증에 필요한 정보를 담은 토큰을 사용하여 서버와 인증을 수행한다. 반면, 서버 사이드 렌더링(SSR) 환경에서는 주로 세션을 통한 인증 방식이 일반적이다. 이번 프로젝트에서는 SSR 환경에도 JWT를 적용해 본 결과, 서버가 페이지를 렌더링 하면서도 JWT를 통한 인증이 가능함을 확인했다. 지금부터 그 내용을 공유한다.Spring securit..
Spring Boot 3 & Security 6 시리즈: JWT 로그인 폼 구현 (1편)
·
Spring/Spring Security
Spring Security를 구현하기 전에 앞으로 사용할 JWT 토큰이 어떤 것인지에 대해서 알아보자 📌 서론 JWT (JSON Web Token)는 웹에서 정보를 안전하게 전송하기 위한 컴팩트하고 독립적인 방식을 제공하는 토큰이다. JWT는 세 부분으로 구성되며, 각 부분은 점(.)으로 구분된다. 아래의 링크에서 jwt 토큰을 Encoded, Decoded 해볼 수 있다. JWT.IO JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties. jwt.io 1. JWT란 Header: Header는 JWT의 메타데이터를 포함하며, 주로 두 가지 정보를 담..
@ControllerAdvice, @RestControllerAdvice - 중앙집중 예외처리
·
Spring/Spring 기초 지식
@ControllerAdvice를 사용한 중앙집중 예외처리 0. 패키지 구조 1. ErrorCode를 정의한다. Enum 타입으로 ErrorCode 클래스를 정의했다. 이렇게 관리하면 커스텀한 에러처리를 할수가 있다. 우선 나는 status, code, message를 필드로 선언했고 이 모든것들을 생성자로 받도록 설정했다. status에는 우리가 자주보는 400번대 500에러가 있고 code에는 내가 직접 지정한 커스텀 에러코드를 넣어줬다. 마지막으로 message에는 알아보기 쉽게 한글에러 메시지를 넣어줬다. import lombok.AllArgsConstructor; import lombok.Getter; import org.springframework.http.HttpStatus; /** * 커스..
[Spring Boot] Properties와 YAML 설정 파일 작성 가이드
·
Spring/Spring 설정
스프링부트에서 설정파일을 작성하는 방식을 살펴보자📌 서론스프링 부트는 컨벤션을 통한 설정을 지향하며, 다양한 설정 파일을 지원하여 개발자가 손쉽게 애플리케이션을 구성할 수 있도록 돕는다. Properties 파일과 YAML 파일은 스프링 부트에서 가장 널리 사용되는 설정 파일 형식으로, 각각의 장단점과 사용 용도가 있다. 올바른 설정 파일을 선택하고 효율적으로 사용하는 방법을 이해하면, 애플리케이션의 유지보수성과 확장성을 크게 향상시킬 수 있다. 1. Properties 파일 설정Properties 파일 소개Properties 파일은 key=value 형식으로 구성 정보를 저장하는 텍스트 파일이다. 스프링 부트에서는 주로 application.properties 파일을 사용하여 애플리케이션의 기본 설정..