의존 라이브러리 설정
→ 스프링 시큐리티가 제공하는 라이브러리를 추가한다. ( pom.xml)
<!-- 스프링 시큐리티 라이브러리 의존 관계 정의 시작 -->
<!-- 스프링 시큐리티를 웹에서 동작하도록 해준다. -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>5.0.7.RELEASE</version>
</dependency>
<!-- 스프링 시큐리티 설정을도와준다. -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>5.0.7.RELEASE</version>
</dependency>
<!-- 스프링 시큐리티 일반적인 기능을 사용하도록 도와준다. -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
<version>5.0.7.RELEASE</version>
</dependency>
<!-- 스프링 시큐리티와 태그 라이브러리를 연결해준다. -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-taglibs</artifactId>
<version>5.0.7.RELEASE</version>
</dependency>
<!-- 스프링 시큐리티 라이브러리 의존 관계 정의 End -->
웹 컨테이너 설정
→ 스프링시큐리티가 제공하는 서블릿 필터 클래스를 서블릿 컨테이너에 등록한다. (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>
해당 경로도 추가

/WEB-INF/spring/security-context.xml
스프링 시큐리티 설정
→ 스프링 시큐리티 컴포넌트를 빈으로 정의한다.
→ spring/security-context.xml 설정


security-context.xml 파일 생성 완료!

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="<http://www.springframework.org/schema/beans>"
xmlns:xsi="<http://www.w3.org/2001/XMLSchema-instance>"
xmlns:security="<http://www.springframework.org/schema/security>"
xsi:schemaLocation="<http://www.springframework.org/schema/beans> <http://www.springframework.org/schema/beans/spring-beans.xsd>
<http://www.springframework.org/schema/security> <http://www.springframework.org/schema/security/spring-security.xsd>">
<security:http>
<!-- 기본적인 폼 인증 기반의 인증 기능을 사용한다. -->
<security:form-login/>
</security:http>
<security:authentication-manager></security:authentication-manager>
</beans>
스프링 시큐리티는 기본 테스트 정책(웹 화면 접근 정책 ) ::: 테스트를 위한 정책이므로 스프링 시큐리티 정책과는 무관
→ 웹 화면 접근 정책을 말한다. (테스트용)
| 대상 | 화면 | 접근 정책 |
|---|---|---|
| 일반 게시판 | 목록화면 | |
| 등록화면 | 모두가 접근 가능합니다. | |
| 로그인한 회원만 접근 가능합니다. | ||
| 공지 게시판 | 목록화면 | |
| 등록화면 | 모두가 접근 가능합니다. | |
| 로그인한 관리자만 접근 가능합니다. |