Spring에 Acegi 보안을 적용시켜 보자.
* Acegi 란?
- Spring 프레임워크 기반의 자바 엔터프라이즈 애플리케이션에서 사용할 수 있는 강력하고 유연한 보안 솔루션
1. web.xml 설정
- web.xml에 servlet filter 추가
- filter mapping 추가
<!-- acegi servlet filter -->
<filter>
<filter-name>Acegi Filter Chain Proxy</filter-name>
<filter-class>
org.acegisecurity.util.FilterToBeanProxy
</filter-class>
<init-param>
<param-name>targetClass</param-name>
<param-value>
org.acegisecurity.util.FilterChainProxy
</param-value>
</init-param>
</filter>
<!-- filter mapping adding-->
<filter-mapping>
<filter-name>Acegi Filter Chain Proxy</filter-name>
<url-pattern>/j_acegi_security_check</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>Acegi Filter Chain Proxy</filter-name>
<url-pattern>/j_acegi_logout</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>Acegi Filter Chain Proxy</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
- 이렇게 설정함으로써, 모든 Acegi 설정은 Spring의 applicationContext에서 담당하게 됨
2. Acegi는 web.xml의 복잡함을 감소시키기 위해 FilterChainFroxy를 사용함
- Spring 애플리케이션의 bean에 flter의 메소드를 위임하는 역활
- Spring 애플리케이션의 이점을 얻을 수 있음