<!-- Spring Security -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>${spring.security.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>${spring.security.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
<version>${spring.security.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-taglibs</artifactId>
<version>${spring.security.version}</version>
</dependency>
Spring Security는 자바 버전에 맞추어 설정하는 것이 좋습니다.
본인은 자바 1.8 / tomcat 8.5 / security 4.2.3 사용하였습니다.
<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>
Spring Security를 이용을 위해 SecurityFilterChain을 등록해야 합니다.
<context:component-scan base-package="com.egis.springsecurity">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Repository"/>
<context:include-filter type="annotation" expression="org.springframework.stereotype.Service"/>
<context:include-filter type="annotation" expression="org.springframework.stereotype.Component"/>
</context:component-scan>
이 부분에서 가장 많이 고생했습니다.
Java Config를 사용할 예정이었기 때문에 Spring FilterChain에 대한 것은 자동으로 Java Config에서 등록될 줄 알았는데, 계속해서 오류가 발생하여 고생하게 되었습니다.
그러나, root-context
에 해당 부분을 추가하면 문제를 해결할 수 있습니다.
<context:component-scan base-package="com.egis.springsecurity">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Repository"/>
<context:include-filter type="annotation" expression="org.springframework.stereotype.Service"/>
<context:include-filter type="annotation" expression="org.springframework.stereotype.Component"/>
</context:component-scan>
<context:annotation-config></context:annotation-config>
이 부분에도 component-scan을 추가하였습니다.(혹시몰라)
또한 annotation을 사용하기 위해 annotation-config도 추가하였습니다
사진과 같이 root-context, servlet-context에 bean도 등록해 주어야 합니다.
이렇게만 하면 Spring Seucrity 설정의 기본적인 단계는 끝났습니다.
다음엔 Java단에서 설정하는 방법에 대해 포스팅 하겠습니다.