스프링시큐리티(Spring Security) 개념 및 구조

최승아·2021년 11월 8일
0

Spring Security란?

  • 스프링 시큐리티는 스프링 기반의 애플리케이션의 보안(인증과 권한, 인가 등)을 담당하는 스프링 하위 프레임워크입니다.
  • 인증(누구인지?)과 인가(어떤것을 할 수 있는지?)를 담당하는 프레임워크를 말합니다.
  • 스프링 시큐리티에서는 주로 서블릿 필터(filter)와 이들로 구성된 필터체인으로의 구성된 위임모델을 사용함

Spring Security 장점

  • 보안과 관련해서 체계적으로 많은 옵션을 제공해주기 때문에 개발자 입장에서는 일일이 보안관련 로직을 작성하지 않아도 된다는 장점이 있음

기본 용어

  1. 접근 주체(Principle) : 보호된 리소스에 접근하는 대상
  2. 인증(Authentication) : 보호된 리소스에 접근한 대상에 대해 누구인지, 애플리케이션의 작업을 수행해도 되는 주체인지 확인하는 과정(ex. Form 기반 로그인) 👉 즉, 누구인지 ?
  3. 인가(Authorize) : 해당 리소스에 대해 접근 가능한 권한을 가지고 있는지 확인하는 과정(After Authentication, 인증 이후) 👉 즉, 어떤것을 할 수 있는지?

Spring Security 특징과 구조

  • 보안과 관련하여 체계적으로 많은 옵션을 제공하여 편리하게 사용 가능
  • Filter 기반으로 동작하여 MVC와 분리하여 관리 및 동작
  • 어노테이션을 통한 간단한 설정
  • Spring Security는 기본적으로 세션 & 쿠키방식으로 인증
  • 인증관리자(Authentication Manager : 누구인지?)와 접근 결정 관리자(Access Decision Manager : 어떤 권한이 있는지?)를 통해 사용자의 리소스 접근을 관리
  • 인증관리자는 UsernamePasswordAuthenticationFilter, 접근 결정 권리자는 FilterSecurityInterceptor가 수행

스프링 시큐리티 기본 구조


참조 : https://devuna.tistory.com/55 | { 튜나 개발일기 }

profile
⭐ 개발 정리 공간 ⭐

0개의 댓글