본문 바로가기

Spring security

스프링 시큐리티 기본 API 및 Filter 이해 - 프로젝트 구성 및 의존성 추가

인프런 정수원님의 “스프링 시큐리티 - Spring Boot 기반으로 개발하는 Spring Security"를 보고 작성한 글입니다.

01. 인증 API- 스프링 시큐리티 의존성 추가하기

강의에서는 pom.xml에 추가하였지만 나는 build.gradle에 추가하였다.

//Spring Boot Security
implementation 'org.springframework.boot:spring-boot-starter-security'

스프링 시큐리티의 의존성을 추가하게 되면 다음과 같은 일이 발생된다.

  1. 서버가 실행되면서(톰캣서버) 스프링 시큐리티의 초기화 작업 및 보안 설정이 이루어 진다.
  2. 별도의 설정이나 구현을 하지 않아도 기본적인 웹 보안 기능이 현재 시스템에 연동되어 작동한다.
    1. 모든 요청은 인증이 되어야 자원에 접근이 가능하다.
    2. 인증 방식은 폼 로그인 방식과 httpBasic 로그인 방식을 제공한다.
    3. 기본 로그인 페이지를 제공한다.
    4. 기본 계정 한 개를 제공한다. (username : user / password : 랜덤 문자열)

문제점은 다음과 같다.

  1. 계정 추가, 권한 추가, DB연동을 할 수 없다.
  2. 기본적인 보안 기능외에 시스템에서 필요로 하는 더 세부적이고 추가적인 보안 기능이 필요하다.