-  pom.xml에 라이브러리 등록하기

    -  WEB-INF/config 폴더에 설정 파일 생성

    -  web.xml에 설정 파일 등록하기

    -  web.xml에 DelegatingFilterProxy 필터 등록하기

 

 

pom.xml에 라이브러리 등록하기

spring security는 spring과 별도의 라이브러리이므로 pom.xml에 등록해주어야 합니다.  경로는 직접 쓰지 말고 maven-repository를 이용해서 검색하고 copy 하세요..^^

 

<!-- spring security -->
<dependency>
	<groupId>org.springframework.security</groupId>
	<artifactId>spring-security-web</artifactId>
	<version>3.2.10.RELEASE</version>
</dependency>
<dependency>
	<groupId>org.springframework.security</groupId>
	<artifactId>spring-security-config</artifactId>
	<version>3.2.10.RELEASE</version>
</dependency>
<dependency>
	<groupId>org.springframework.security</groupId>
	<artifactId>spring-security-taglibs</artifactId>
	<version>3.2.10.RELEASE</version>
</dependency>

 

WEB-INF/config에 설정 파일 생성

spring security도 설정 파일이 필요하며 작성한 설정 파일을 web.xml에 등록해야 spring security가 인식됩니다.

설정 파일은 다른 설정 마찬가지로 WEB-INF/config에 "security-config_ver1.xml"으로 작성합니다. 연습하는 것에 대해 history를 남기려고 ver1을 붙인 것이니 설정 파일의 이름은 편한 대로 주시고 작업하세요.

 

xml 파일을 rename 해서 써도 되고 spring 설정 파일을 다음과 같이 추가합니다.

 

[Spring]-[Spring Bean Configuration File]을 선택합니다.

 

config 폴더를 선택하고 파일명을 작성합니다.

 

beans, mvc, security를 선택합니다.

 

web.xml에 DelegatingFilterProxy 필터 등록하기

또한 spring security를 웹에서 표현하는 적용하는 경우 웹의 컴포넌트인 Filter를 기반으로 작동합니다. 왜 그런지는 조금만 생각해보면 아실 거라 생각됩니다.

Filter라는 것은 일상생활에서 찾아볼 수 있는 것처럼 목적지에 가기 전에 들러서 가는 것입니다. 웹 애플리케이션 상에서 우리의 목적지는 Controller이죠? 컨트롤러에 도착하기 전에 모든 웹상에 적용할 내용이 있다면 필터에 한 번 정의하고 설정하면 모든 웹페이지, 컨트롤러에서 여러 번 작업하지 않아도 되기 때문에 필터를 사용한다 했습니다.

우리가 스프링 시작할 때도 spring을 이용하여 작업하는 모든 웹페이지 내부에서 한글을 인식할 수 있도록 하기 위해 다음과 같이 한글 필터를 설정했었습니다.

우리가 스프링 시작할 때도 spring을 이용하여 작업하는 모든 웹페이지 내부에서 한글을 인식할 수 있도록 하기 위해 다음과 같이 한글 필터를 설정했었습니다.

<filter>
	<filter-name>encodingFilter</filter-name>
	<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
	<init-param>
		<param-name>encoding</param-name>
		<param-value>UTF-8</param-value>
	</init-param>
</filter>
<filter-mapping>
	<filter-name>encodingFilter</filter-name>
	<url-pattern>/*</url-pattern>
</filter-mapping>

 

마찬가지로 org.springframework.web.filter.DelegatingFilterProxy를 web.xml에 등록합니다.
DelegatingFilterProxy필터는 보안과 직접적인 연관이 있지는 않지만 선언하지 않으면 컨테이너가 spring security와 관련된 작업을 할 수 없습니다.
필터의 이름은 "springSecurityFilterChain"으로 작성하고 다음과 같이 <url-pattern>은 /*로 설정합니다.

<filter>
	<filter-name>springSecurityFilterChain</filter-name>
	<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
	<filter-name>springSecurityFilterChain</filter-name>
		<url-pattern>/*</url-pattern>
</filter-mapping>

 

web.xml에 설정 파일 등록하기

<context-param>태그를 이용하여 위에서 작성한 설정 파일을 등록합니다.

 

<context-param>
	<param-name>contextConfigLocation</param-name>
	<param-value>/WEB-INF/config/security-config_ver1.xml</param-value>
</context-param>

+ Recent posts