반응형

1. 시험환경

    - Spring MVC Project

    - Spring Framework v5.2.13.RELEASE

    - Spring Security ver : Spring Framework 버전에 따름 ( ${org.springframework-version} )

 

2. 목적

    - Spring Security를 적용 후 Login 및 Logout 기능 테스트

 

3. 적용

    ① security-config.xml 주요 파라미터 설명

        - pattern : 요청 URL Root(/) 이하 모든 resource에 대하여 로그인 인증 적용

        - default-target-url : 로그인 성공시 전환 페이지

        - logout-success-url : 로그아웃 성공시 전환 페이지

        - {noop} : 암호화 인코딩을 적용하지 않음

로그인, 로그아웃 설정

4. 결론

    - 프로젝트명 이하 모든 경로 및 자원 요청시 로그인 화면으로 전환

Spring Security 로그인 폼 화면

 

    - {프로젝트}/logout 링크 연결된 버튼 클릭 시 로그아웃 화면으로 전환

Spring Security 로그아웃 폼 화면

 

 

※ 내용이 도움 되셨다면 광고 클릭 한번 부탁드립니다.

반응형
반응형

1. 시험환경

    - Spring MVC Project

    - Spring Framework v5.2.13.RELEASE

    - Spring Security ver : Spring Framework 버전에 따름 ( ${org.springframework-version} )

 

2. 목적

    - Spring MVC 프로젝트에 Security를 설정한다.

    - 초기 설정 후 초기 Login 화면이 나타는 것을 확인한다.

 

3. 적용

    ① Spring Security 관련 라이브러리를 설치한다.

pom.xml

 

<!-- https://mvnrepository.com/artifact/org.springframework.security/spring-security-core -->
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-core</artifactId>
    <version>${org.springframework-version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.security/spring-security-web -->
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-web</artifactId>
    <version>${org.springframework-version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.security/spring-security-config -->
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-config</artifactId>
    <version>${org.springframework-version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.security/spring-security-taglibs -->
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-taglibs</artifactId>
    <version>${org.springframework-version}</version>
</dependency>

 

    ② Security 설정 파일을 생성한다.

        - appServlet 우클릭 → New → Spring Bean Configuration File 메뉴 클릭

Spring Bean Configuration File 생성

 

        - Security 설정 파일명 입력

security-context.xml 파일 생성

        - security 어노테이션 추가

security 어노테이션 추가

 

        - security 설정

설정 파일

<?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/security http://www.springframework.org/schema/security/spring-security.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <security:http auto-config="true" use-expressions="false">
        <security:intercept-url pattern="/**" access="ROLE_USER" />
    </security:http>

    <security:authentication-manager>
        <security:authentication-provider>
            <security:user-service>
                <security:user name="admin" password="{noop}admin" authorities="ROLE_ADMIN"/>
                <security:user name="user" password="{noop}user" authorities="ROLE_USER"/>
            </security:user-service>
        </security:authentication-provider>
    </security:authentication-manager>
</beans>

 

    ③ web.xml 설정

        - security 설정 파일을 등록한다.

security 설정 파일 등록

 

        - Security 관련 필터를 등록한다. 클라이언트 요청을 가로채서 보안 절차를 수행한다.

 

4. 결론

    - 프로젝트에 접근 요청을 하면, 스프링 시큐리티에서 제공하는 로그인 화면이 나타난다.

    - 에러 처리 및 customize 작업을 추가적으로 하자.

로그인 화면

 

 

 

※ 내용이 도움 되셨다면 광고 클릭 한번 부탁드립니다.

반응형

+ Recent posts