스프링은 서블릿 컨테이너의 라이프사이클과 ApplicationContext 사이를 연결할 수 있는 DelegatingFilterProxy라는 Filter 인터페이스 구현을 제공한다.
서블릿 컨테이너는 자체 표준을 사용하여 Filter 인스턴스를 등록할 수 있지만, 스프링 정의 빈을 인식하지 못한다. 대신 표준 서블릿 컨테이너 메커니즘을 통해 DelegatingFilterProxy 빈을 스프링 컨테이너에 등록하고 모든 작업을 Filter를 구현하는 스프링 빈(DelegatingFilterProxy)에 위임할 수 있다.
DelegatingFilterProxy는 springSecurityFilterChain 빈에 웹 요청 처리를 위임한다.
스프링 MVC를 사용하는 경우 자바 구성
자바 구성(스프링 3.1, 스프링 시큐리티 3.2 부터 제공)을 사용할 경우 스프링 시큐리티는 기본적으로 AbstractSecurityWebApplicationInitializer 기본 클래스를 제공하여 springSecurityFilterChain 필터 빈을 스프링 컨테이너에 등록한다. springSecurityFilterChain 빈은 모든 웹 요청 보안을 처리한다.
springSecurityFilterChain 빈 등록은 서블릿 3.0+ 환경에서 지원하는 코드 기반 서블릿 초기화 기능링크을 사용한다.
스프링을 사용하는 애플리케이션에서는 이미 스프링 구성을 불러오는 WebApplicationInitializer가 있으므로 이 구성을 사용하면 오류가 발생할 수 있다. 따라서 스프링 시큐리티를 기존 ApplicationContext에 등록해야 한다.
문자열은 연속된 문자들이 그룹화되어 구성된 자료 구조이다. 따라서 데이터를 그룹화한 추상 자료형인 컬렉션(collection)의 다양한 자료 구조로 문자열을 구조화할 수 있으며 다양한 자료 구조 탐색 알고리즘을 사용하여 부분 문자열들을 탐색 및 비교하는 등의 문제를 해결할 수 있다.
백트래킹(backtracking)(또는 역추적) 알고리즘이란 최적의 해결책을 찾기 위해 모든 가능한 방법을 후보(candidate)로 구성한 후, 점진적으로 후보들을 시도하면서 유효한 후보가 아닐 경우(문제의 정답 조건을 만족하지 않을 경우) 문제 해결 과정에서 제외하고 되돌아가 ...
Comments