본문 바로가기

Language

(101)
사용자 정의 보안 설정하기 사용자 정의 보안 기능 구현 한 개 이상의 SecurityFilterChain 타입의 빈을 정의한 후 인증 API 및 인가 API 설정인증 APIhttp.formLogin()http.logout()http.csrf()http.httpBasic()...인가 APIhttp.authorizeHttpRequests(auth -> auth.requestMatchers(/admin).hasRole(USER).permitAll().authenticated()... 기본 구현 코드 @EnableWebSecurity@Configurationpublic class SecurityConfig { @Bean public SecurityFilterChain securityFilterChain(HttpSecurity..
DelegatingFilterProxy / FilterChainProxy Filter (서블릿 필터) 웹 애플리케이션에서 클라이언트의 요청(ServletRequest)과 서버의 응답(ServletResponse)을 가공하거나 검사하는 데 사용클라이언트의 요청이 서블릿에 도달하기 전이나 서블릿이 응답을 클라이언트에게 보내기 전 특정 작업을 수행필터는 서블릿 컨테이너(WAS)에서 생성되고 실행되고 종료필터의 doFilter() 메서드에서 chain.doFilter()의 이전, 이후 코드이전 코드 ⇒ 요청 처리 전 수행할 작업 (ServletRequest 수정)이후 코드 ⇒ 응답 처리 후 수행할 작업 (ServletResponse 수정) DelegatingFilterProxy 스프링에서 사용되는 특별한 서블릿 필터서블릿 컨테이너와 스프링 애플리케이션 컨텍스트 간의 연결 고리 역할서..
WebSecurity / HttpSecurity HttpSecurity HttpSecurityConfiguration에서 HttpSecurity를 생성하고 초기화 진행HttpSecurity는 보안에 필요한 각 설정 클래스와 필터들을 생성하고 최종적으로 SecurityFilterChain 생성★ HttpSecurity의 최종 목적 ⇒ SecurityFilterChain 생성전반적으로 모든 인증과 인가에 관련된 설정들을 모두 할 수 있으므로 매우 중요  SecurityFilterChain 인터페이스의 메서드 설명 boolean mathches(HttpServletRequest request)요청이 현재 SecurityFilterChain에 의해 처리되어야 하는지 여부를 결정→ SecurityFilterChain은 한 개가 아니라 여러 개 일 수 있음tr..
SecurityBuilder / SecurityConfigurer SecurityBuilder빌더 클래스로서 웹 보안을 구성하는 빈 객체와 설정 클래스들을 생성하는 역할대표적인 예 : WebSecurity, HttpSecurity SecurityConfigurer Http 요청과 관련된 보안 처리를 담당하는 필터들을 생성여러 초기화 설정에 관여Spring Security는 필터 기반 보안 프레임워크라고 해도 과언이 아닐 정도로 중요 SecurityBuilder와 SecurityConfigurer의 관계SecurityBuilder → SecurityConfigurer를 참조인증 및 인가 초기화 작업은 SecurityConfigurer에 의해 진행  AutoConfiguration 빌더 클래스(SecurityBuilder) 생성  SecurityBuilder 설정 클래스(..
프로젝트 생성 / 의존성 추가 해당 글은 인프런 정수원님의 동영상 강의를 기반으로 정리https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%8B%9C%ED%81%90%EB%A6%AC%ED%8B%B0-%EC%99%84%EC%A0%84%EC%A0%95%EB%B3%B5/dashboard프로젝트 구성Spring Boot 3.x 버전 (강의 기준 3.2.2)JDK 17Gradle 빌드의존성 추가 : Spring Web, Spring Security자동 설정에 의한 기본 보안 작동서버 기동 시 스프링 시큐리티의 초기화 작업 및 보안 설정이 이루어짐별도의 설정이나 코드를 작성하지 않더라도 기본적인 웹 보안 기능이 현재 시스템과 연동되어 작동모든 요청에 대하여 인증 여부를 검증하고 인증이..