본문 바로가기

BackEnd/Spring

스프링 시큐리티의 내부구조

반응형

1. 스프링 시큐리티의 내부구조



스프링 시큐리티에서 가장 중요한 역할을 하는 존재가 인증을 담당하는 AuthenticationManager(인증 매니저)이다. 


AuthenticationManager는 다양한 방식의 인증을 처리할 수 있도록 위와같은 구조로 설계되어 있다.


ProviderManager는 인증에 대한 처리를 AuthenticationProvider라는 타입의 객체를 이용해서 처리


를 위임다. AuthenticationProvider(인증 제공자)는 실제 인증 작업을 진행한다.


이때 인증된 정보에는 권한에 대한 정보를 같이 전달하게 되는데 이 처리는 UserDetailsService라


는 존재와 관련 있다. UserDetailsService 인터페이스의 구현체는 실제로 사용자의 정보와 사용자


가 가권한의 정보를 처리해서 반환하게 됩니다.


2. 커스터마이징 하는 방식


개발자가 스프링 시큐리티를 커스터마이징 하는 방식은 크게


1) AuthenticationProvider 를 직접 구현하는 방식과


2) 실제 처리를 담당하는 UserDetailsService를 구현하는 방식으로 나누어진다.


대부분의 경우에는 UserDetailsService를 구현하는 형태를 사용하는 것만으로도 충분하지만,새


로운 프로토콜이나 인증 구현 방식을 직접 구현하는 경우에는 AuthenticationProvider 인터페이


스를 직접 구현해서 사용한다.

반응형

'BackEnd > Spring' 카테고리의 다른 글

스프링 프레임워크에 대해  (0) 2020.01.24
maven이란?  (0) 2020.01.24
스프링 시큐리티의 기본동작 방식  (0) 2020.01.14
스프링에서 context에 대한 이해  (0) 2020.01.14
스프링 시큐리티란?  (0) 2019.12.17