3. Spring MVC 에 Spring Security 적용해 보기
ITWeb/개발일반 2012. 3. 12. 12:40확장 버전은 직접 해보시는면 좋겠죠.
- 다만, 진행 하면서 코드는 추가 하겠습니다.
[소스코드]
- Eclipse import 하시면 프로젝트 확인 가능 합니다.
※ import/export 방법은 아래 글 참고하세요.
http://jjeong.tistory.com/564
1. Spring MVC 구성해 보기.
2. Spring MVC 에 MyBatis 적용해 보기.
3. Spring MVC 에 Spring Security 적용해 보기.
4. Spring MVC 에 Hibernate 적용해 보기.
5. 2+3번 적용해 보기.
6. 3+4번 적용해 보기.
- 소스코드를 첨부 하였으므로 요약 정보만 기술 합니다.
[참고링크]
http://www.springsource.org/spring-security#documentation
http://static.springsource.org/spring-security/site/docs/3.1.x/reference/springsecurity-single.html
http://static.springsource.org/spring-security/site/docs/3.1.x/reference/springsecurity-single.html#core-services-in-memory-service
[pom.xml]
- spring security 관련 dependency 추가 합니다.
<!-- Spring Security 사용을 위한 dependency 등록 Start -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
<version>3.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>3.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>3.1.0.RELEASE</version>
</dependency>
<!-- Spring Security 사용을 위한 dependency 등록 End -->
[web.xml]
- security 관련 fitler 와 context 설정을 등록 합니다.
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring/root-context.xml
classpath:context/**/applicationContext*.xml
</param-value>
</context-param>
<!-- Spring Security 사용을 위해 filter 추가 Start -->
<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 사용을 위해 filter 추가 End -->
[application-security.xml]
- http security 관련 설정을 합니다.
- 메모리 기반의 인증 처리 방식 입니다. (추후 업그레이드가 되어야 하는 부분)
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.1.xsd">
<http auto-config='true'>
<intercept-url pattern="/**" access="ROLE_USER" />
</http>
<authentication-manager>
<authentication-provider>
<user-service>
<user name="jimi" password="1234" authorities="ROLE_USER, ROLE_ADMIN" />
<user name="bob" password="1234" authorities="ROLE_USER" />
</user-service>
</authentication-provider>
</authentication-manager>
</beans:beans>
[실행하기]
- Spring MVC 예제에서 했던 것과 같습니다.
- 이전 글을 참고해 주세요.
- 아래는 실행 시킨 결과 화면 입니다.
[테스트URL]
http://localhost:8080/security/index.html
[인증 전]
[인증 후]
※ 보시는 것 처럼 spring security의 시작은 아주 쉽게 따라 할 수 있습니다. 문서를 잘 참고 하시면 됩니다.