Spring Security 기본 개념 정리

off_sujin·2022년 5월 28일
0

Spring Security가 무엇이고, 어떻게 동작하는지 알아보자!

Spring Security가 뭐야?

Spring Security는 인증(Authentication)과 인가(Authorization) 등 보안에 관한 처리를 담당하는 스프링 하위 프레임워크이다.
Credential 기반 인증 방식을 사용하여 인증과 인가를 수행한다.

Credential 기반 인증 방식은 사용자명(Principle), 비밀번호(Credential)를 사용한다.

먼저 보안 용어를 정리하고 갑시다.

인증(Authentication)

자격 증명을 검증하여 해당 사용자가 본인이 맞는지 확인하는 것이다.

인가(Authorization)

인증 이후에 발생하는 과정으로, 인증된 사용자가 해당 리소스에 대한 접근 권한이 있는지를 판단하는 절차이다.

사용자명(Principal)

Resource에 접근하는 대상을 말한다.

비밀번호(Credential)

접근 대상의 비밀번호이다.

Spring Security 주요 모듈 살펴보기

SecurityContextHolder

인증된 사용자의 정보들을 저장하는 공간이다.
SecurityContextHolder에 저장된 SecurityContext들은 전역으로 참조될 수 있다.

SecurityContext

현재 인증한 사용자에 대한 정보를 가지며, Authentication을 보관하는 역할이다.
Spring Security는 SecurityContext 안에 Authentication 객체가 존재하는지를 체크해서 인증여부를 결정한다.

Authentication

현재 접근하는 주체의 인증 정보와 권한을 가지고 있으며, AuthenticationManager에 의해 제공됩니다.

GrantedAuthority

인증 주체에게 부여된 권한이다.
ex) ROLE_USER, ROLE_ADMIN

Spring Security는 어떻게 작동할까

profile
학습 중..

0개의 댓글