[Spring] 스프링 시큐리티 설정이 @Bean 기반 구성으로 바뀐 이유
·
Spring/Spring Security
Spring Security에서 WebSecurityConfigurerAdapter를 @Bean 기반 구성으로 변경한 이유📌 서론Spring Security는 스프링 서버를 구성하면서 보안을 적용하는 데 많이 사용된다. 특히, 요즘처럼 클라이언트 측 렌더링(Client-Side Rendering, CSR)을 많이 사용하는 환경에서 JWT(JSON Web Token)를 사용하여 인증 및 인가를 구현하는 애플리케이션에서 Spring Security는 매우 중요한 역할을 한다. Spring Security 5.7부터는 시큐리티의 클래스 구성 방식이 기존과는 상당히 달라졌다. 이 글에서는 그 변화를 간단히 설명하고, 새로운 보안 구성 클래스의 작성 방법을 간단히 알아보도록 하자. 1. WebSecurityCo..
Spring: 필터(Filter)가 인터셉터(Interceptor)와 다른점
·
Spring/Spring 기초 지식
이번 포스트에서는 Spring Filter에 대해서 알아보도록 하자 1. Spring에서 Filter의 개념 필터의 정의 필터는 웹 애플리케이션에서 클라이언트의 요청과 서버의 응답을 가로채는 재사용 가능한 코드 조각이다. 서블릿 스펙의 일부로, 요청이 서블릿에 도달하기 전과 응답이 클라이언트로 반환되기 전에 특정 작업을 수행할 수 있다. 서블릿 필터의 기본 원리 필터 체인을 통해 여러 필터를 순차적으로 적용할 수 있다. 각 필터는 doFilter() 메서드를 통해 요청과 응답을 조작하고, 필터 체인의 다음 필터나 최종 목적지(서블릿 또는 정적 리소스)로 요청/응답을 전달할 수 있다. 스프링 부트에서 필터의 역할 스프링 부트는 자동 구성을 통해 필터를 쉽게 추가하고 관리할 수 있게 해준다. 보안, 트랜잭션..
[Spring] 스프링은 추상화를 어떻게 적용했을까?
·
Spring/Spring에서 Java 활용하기
스프링은 추상화를 어떻게 사용할까? 간단한 예시로 알아보자 📌 서론 이번 포스트는 실제로 스프링을 개발하면서 자주 사용하게 되는 기능들을 기준으로 정리하였으며 쉽게 이해하기 위해 간단한 코드로 내용을 구성하였다. 만약 추상화의 개념이 부족하다면 아래의 글을 읽어보는것을 추천한다. [Spring] 추상화란 무엇인가? 자바의 "추상화"의 개념을 알아보고 스프링을 이것을 어떻게 사용하는지 알아보자 📌 서론 항상 추상화를 사용하고 있지만 누군가 "그래서 대체 추상화가 뭔데?"라고 물어볼때마다 바로바로 떠 curiousjinan.tistory.com 1. Java의 추상화 추상 클래스와 추상 메서드 Java에서는 abstract 키워드를 사용하여 추상 클래스와 추상 메서드를 정의할 수 있다. 추상 클래스는 인스턴..
Spring Security 6 이해하기: 동작 원리와 보안 기능 탐구
·
Spring/Spring Security
스프링 시큐리티가 어떻게 동작하는지 궁금해서 알아봤다. 1. 최상위 필터 인터페이스인 SecurityFilterChain 확인 package org.springframework.security.web; import java.util.List; import jakarta.servlet.Filter; import jakarta.servlet.http.HttpServletRequest; /** * Defines a filter chain which is capable of being matched against an * {@code HttpServletRequest}. in order to decide whether it applies to that request. * * Used to configure a ..
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..