본문 바로가기

개발 공부

Spring Security의 구조

Spring Security의 구조
  1. 핵심 구성 요소
    • AuthenticationManager: 인증 프로세스를 관리. 이는 Authentication 객체를 받아 유효한지 확인 함.
    • Authentication: 사용자의 인증 정보를 나타내는 객체.
    • UserDetails: 사용자의 정보를 담고 있는 객체. 사용자의 이름, 패스워드, 권한 등을 포함.
    • UserDetailsService: 사용자 정보를 가져오는 인터페이스. 일반적으로 데이터베이스에서 사용자 정보를 조회하는 데 사용.
  2. 인증 과정 (Authentication Process)
    • 사용자가 로그인 정보를 입력.
    • AuthenticationManager는 UserDetailsService를 사용하여 사용자의 정보를 조회.
    • 조회된 정보와 입력된 정보를 비교하여 인증을 결정.
  3. 권한 부여 (Authorization)
    • 인증된 사용자에 대한 요청은 다양한 AccessDecisionManager를 통해 권한을 확인.
    • 사용자의 권한 (예: ROLE_USER, ROLE_ADMIN)에 따라 접근 가능한 리소스가 결정.
  4. 필터 체인 (Filter Chain)
    • Spring Security는 다수의 필터를 사용하여 요청을 처리.
    • 이 필터들은 인증, 권한 부여, 요청/응답 처리 등 다양한 보안 관련 작업을 수행.

'개발 공부' 카테고리의 다른 글

스프링의 Lifecycle  (0) 2024.01.30
오버라이드와 오버로드  (2) 2024.01.26
JWT 발급 과정  (0) 2024.01.24
클래스와 인스턴스의 차이  (0) 2024.01.23
java의 컴파일 과정  (0) 2024.01.22