Spring Framework (5) 썸네일형 리스트형 [Spring Security] SecurityFilterChain SecurityFilterChain의 개요이 글은 Spring Security 6.4.3을 기반으로 작성되었습니다. SecurityFilterChain은 FilterChainProxy에 의해서 사용되고,여러 개의 Security Filter들로 구성되어 있습니다. 이 SecurityFilterChain을 통해 보안 처리가 이루어진다고 생각하시면 됩니다. Security Filter들은 보통 Bean이지만,DelegatingFilterProxy나 Servlet container에 등록되는 대신 FilterChainProxy에 등록됩니다. 이를 통해 얻는 장점이 몇 가지 있습니다.1. Spring Security 디버깅이 편리해집니다.- FilterChainProxy는 모든 스프링 시큐리티 지원의 .. [Spring Security] DelegatingFilterProxy와 FilterChainProxy DelegatingFilterProxy이 글은 Spring Security 6.4.3을 기반으로 작성되었습니다. 위 그림은 Client의 하나의 HTTP request에 대해서 Filter들을 거쳐 Servlet까지 가는 그림입니다. DelegatingFilterProxy는 이 Filter중 하나입니다. DelegatingFilterProxy는 스프링에서 제공하는 필터 구현체로서,Servlet 컨테이너와 스프링 IoC 컨테이너의 다리 역할을 합니다. 다리 역할?서블릿 컨테이너는 스프링 IoC 컨테이너에서 관리하는 Bean들에 대해 알지 못합니다.하지만 DelegatingFilterProxy는 스프링 컨테이너에서 Filter를 구현한 Bean(Bean Filter)들을 찾아 등록할 수 있습니다.※ 아래.. [Spring Security] Servlet 기반 어플리케이션 보안의 개요 - FilterChain 개요이 글은 Spring Security 6.4.3을 기반으로 작성되었습니다. 스프링 시큐리티의 Servlet 지원은 Servlet 필터(Filter) 위에서 동작합니다.따라서 필터가 뭔지 아는 것이 먼저입니다. 위의 이미지는 하나의 HTTP request에 대해서 어떻게 처리하는 지 보여줍니다. 만약 클라이언트(Clinet)가 request를 하나 보내면, container에서는 FilterChain을 생성합니다.이 FilterChain에는 여러 개의 Filter들과 하나의 Servlet이 포함되어 있습니다. Spring MVC 어플리케이션에서는 주로 DispatcherServlet의 객체가 Servlet이 됩니다. 이 그림에서 중요한 건 두 가지입니다.첫째, 대부분의 경우 1개의 Servlet이 .. [Logging] SLF4J에 대해서 개요SLF4J(Simple Logging Facade for Java)는 이름의 Facade에서 알 수 있듯이간단한 퍼사드 패턴을 로깅에 적용한 시스템으로 로깅 추상화 라이브러리이다.퍼사드 패턴?퍼사드 패턴(Facade Pattern)은 구조 패턴(Structural Pattern)의 한 종류로써, 복잡한 서브 클래스들의 공통적인 기능을 정의하는 상위 수준의 인터페이스를 제공하는 패턴이다. java.util.logging, logback, log4j 등 다양한 로깅 프레임워크에 대해서 추상화 역할을 하는 인터페이스이다.위의 로깅 프레임워크를 구현체, SLF4J를 인터페이스로 생각하면 이해하기 쉽다. 때문에 SLF4J는 반드시 구현체를 필요로 하게 된다. SLF4J 기본 구성 요소1. SLF4J AP.. [Spring Boot] Jar vs War 배포 방법 비교 개요스프링부트를 사용하는 https://start.spring.io 에 들어가보면 Packaging 방식이 Jar과 War 두 가지로 구분되는 것을 확인할 수 있습니다. 두 가지 방식의 차이점이 궁금해져서 이 포스트를 시작하게 되었습니다. 핵심 개념기본적으로 JAR, WAR 모두 java의 jar 옵션을 이용해 생성된 압축(아카이브)파일이며,애플리케이션을 쉽게 배포하고 동작시킬 수 있도록 관련 파일(리소스, 속성 파일 등)을 패키징한 것이다. 1. JAR(Java Archive)Java Application이 동작할 수 있도록 자바 프로젝트를 압축한 파일라이브러리, 리소스, 보조 파일(property files)을 포함JRE(Java Runtime Enviornment)만 있어도 실행 가능스프링 부트.. 이전 1 다음