Spring Legacy Security 설정법-2

김두현·2023년 3월 14일
1

SpringSecurity

목록 보기
2/3
post-thumbnail

Spring Security 설정방법

pom.xml 설정

<!-- 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 사용하였습니다.


web.xml 설정

<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을 등록해야 합니다.


root-context.xml 설정

<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에 해당 부분을 추가하면 문제를 해결할 수 있습니다.


servlet-context.xml 설정

<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도 추가하였습니다


bean 등록

사진과 같이 root-context, servlet-context에 bean도 등록해 주어야 합니다.


이렇게만 하면 Spring Seucrity 설정의 기본적인 단계는 끝났습니다.
다음엔 Java단에서 설정하는 방법에 대해 포스팅 하겠습니다.

profile
기억코딩 - 코딩을 대신 기억해드림

0개의 댓글