- 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>
'보안 > Spring Security' 카테고리의 다른 글
로그인적용하기 - 권한확인 (0) | 2019.09.09 |
---|---|
스프링 시큐리티 제외하기 - 이미지깨짐 해결 (0) | 2019.09.09 |
kimsaemERP의 loginPage로 인증하기 (0) | 2019.09.04 |
spring security따라해보기 (0) | 2019.09.04 |
Spring Security의 개요 (0) | 2019.08.29 |