본문 바로가기
Project

프리온보딩 인턴십 백엔드 TIL #4

by newny 2023. 10. 29.
반응형

⭐알게된 것

- 스프링 시큐리티란?

스프링 시큐리티는 인증, 권한 부여 및 보호 기능을 제공하는 프레임워크다. 인증이란 해당 사용자가 본인이 맞는지를 확인하는 절차이고, 인가란 인증이 완료된 사용자에게 요청된 자원 접근이 가능한지를 결정하는 절차이다.

인증의 방식은 총 3가지가 있다.

  1. credential 방식: username, password를 이용하는 방식
  2. 하드웨어 인증: 자동차 키와 같은 방식
  3. 이중 인증(twofactor 인증): 사용자가 입력한 개인 정보를 인증 후, 다른 인증 체계(예: 물리적인 카드)를 이용하여 두 가지의 조합으로 인증하는 방식이다.

스프링 시큐리티는 이들 중 credential 기반의 인증을 취한다.

  • principal: 아이디
  • credential: 비밀번호

특정 자원에 접근을 하기 위해서는 그에 맞는 권한이 있어야 하는데 credential 기반의 인증을 통한 인증 정보를 참고하여 권한을 인가 한다.

보편적으로 username-password 패턴의 인증 방식을 거치기 때문에 스프링 시큐리티는 principal-credential 패턴을 가지게 된다.

- 스프링 시큐리티의 특징

  • 스프링 시큐리티에서는 인증, 인가에 필요한 여러개의 필터를 연쇄적으로 실행하여 수행한다. (FilterChain)
  • 스프링 MVC와 분리되어 관리하고 동작할 수 있다.

스프링 시큐리티 아키텍쳐
사용자 인증, 인증된 사용자의 인가 과정 (와우…)

 

🌏참고한 사이트

[스프링 시큐리티]

https://velog.io/@hope0206/Spring-Security-구조-흐름-그리고-역할-알아보기

https://gngsn.tistory.com/155

반응형

댓글