3. Spring MVC 에 Spring Security 적용해 보기

ITWeb/개발일반 2012. 3. 12. 12:40
Spring MVC 에 기본 Minimal http configuration 에대한 소스 코드만 삽입해 놓습니다.
확장 버전은 직접 해보시는면 좋겠죠.
- 다만, 진행 하면서 코드는 추가 하겠습니다.

[소스코드]

- 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번 적용해 보기. 


- 소스코드를 첨부 하였으므로 요약 정보만 기술 합니다.

[참고링크]


[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의 시작은 아주 쉽게 따라 할 수 있습니다. 문서를 잘 참고 하시면 됩니다.
: