스프링 시큐리티/스프링 시큐리티 주요 아키텍처 이해

이 글은 정수원님의 Infrean 강의를 학습한 내용을 정리하여 작성합니다. 스프링 시큐리티 필터 및 아키텍처 정리 그림의 윗부분은 시큐리티의 초기화 과정에 해당한다. 그림의 아래부분은 각 필터들의 처리 과정에 해당한다. 스프링 시큐리티 초기화 SecurityConfig 설정 클래스를 생성한다. 내부에 여러 API를 정의한다. 각 API들은 요청을 받아 처리한다. 시큐리티 초기화 시 설정한 API와 구성대로 Filter들을 생성한다. 이때, HttpSecurity 클래스가 필터들을 생성한다. 생성된 필터들은 WebSecurity 클래스에게 전달된다. WebSecurity는 FilterChainProxy의 Bean 객체를 생성한다. 이때 생성자로 필터들을 전달한다. FilterChainProxy는 Secu..
이 글은 정수원님의 Infrean 강의를 학습한 내용을 정리하여 작성합니다. AccessDecisionManager 인증 정보, 요청 정보, 권한 정보를 이용해 사용자의 자원접근을 허용할 것인지 거부할 것인지를 최종 결정하는 주체 여러 개의 Voter 들을 가질 수 있으며 Voter 들로부터 접근 허용, 거부, 보류에 해당하는 각각의 값을 리턴 받고 판단 및 결정한다. 최종 접근 거부 시 에외가 발생한다. 접근 결정의 세 가지 유형 AffirmativeBased 여러 개의 Voter 클래스 중 하나라도 접근 허가로 결론을 내면 접근 허가로 판단한다. ConsensusBased 다수표(승인 및 거부)에 의해 최종 결정을 판단한다. 동수일 경우 기본은 접근허가이나 allowIfEqualGrantedDenie..
이 글은 정수원님의 Infrean 강의를 학습한 내용을 정리하여 작성합니다. Authorization 당신에게 무엇이 허가 되었는지 증명하는 것 사용자가 Web Application의 특정 자원에 접근하려 할 때 해당 사용자가 Authenticated 즉 인증을 받았는지 여부를 판단한다. 인증을 받은 사용자가 다시 특정 자원에 접근하고자 할 때 해당 사용자의 권한이 Resource에 접근할 만한 자격이 있는지 심사해서 최종적으로 판단하는 것을 인가라고 한다. 인증 -> 인가 스프링 시큐리티가 지원하는 권한 계층 웹 계층 URL 요청에 따른 메뉴 혹은 화면단위의 레벨 보안 서비스 계층 화면 단위가 아닌 메소드 같은 기능 단위의 레벨 보안 도메인 계층 (Access Control List, 접근제어목록) 객..
이 글은 정수원님의 Infrean 강의를 학습한 내용을 정리하여 작성합니다. 인증 처리자 - AuthenticationProvider AuthenticationProvider는 인터페이스이다. authenticate(authentication) : 실질적인 인증 처리를 위한 검증을 수행한다. supports(authentication) : Form 또는 RememberMe 인증을 처리할 수 있는 기준이 되는지 검사한다. AuthenticationManager로부터 받은 authenticaion 객체(ID + P/W)를 통해 검증을 수행한다.
개발자가 될 사람
'스프링 시큐리티/스프링 시큐리티 주요 아키텍처 이해' 카테고리의 글 목록