[Spring Security] Authentication의 메커니즘

2023. 10. 17. 16:01·Web & Android/Spring Security

  • Authentication에는 인증된 결과 뿐만 아니라 인증을 하기 위한 정보, 인증을 받기 위한 정보가 하나의 객체에 들어가 있음
  • AuthenticationProvider는 입력된 인증을 보고 허가된 인증을 내주는 방식으로 인증 허가를 판단하며 처리 가능한 Authentication에 대해서 알려주는 support메서드를 지원
  • Authorities에는 '어디를 갈 수 있는지', '어떤 역할을 할 수 있는지'에 대한 권한 정보로 이를 구현(implement)한 GrantedAuthority에 관한 정보들이 저장되어있음
  • Authentication에 들어가 있는 Token들은 각각의 Filter들을 통해 발행된 Token들
  • Credentials은 인증을 받기 위해 필요한 정보들로 대표적인 예시로는 비밀번호
  • Principal은 인증된 결과에 대한 정보. credentials를 이용해 인증을 받고 그 결과임
  • Details은 위의 정보 외의 인증에 관여된 주변 정보들을 갖고 있음

AuthenticationProvider

  • Authentication을 제공하는 것을 Authentication Provider
  • Authentication Provider는 credentials나 Principal이 있는 Authentication을 받아서 인증을 하고 인증된 결과를 다시 Authentication객체로 전달하는 역할
  • 이때 Authentication Provider는 어떤 인증에 대해 승인을 해줄지 Authentication Manager에게 알려줘야 하기 때문에 support()라는 메서드를 제공
  • Authentication Manager은 인증 대상과 방식이 다양할 수 있어 여러개일 수 있음
저작자표시 비영리 변경금지 (새창열림)

'Web & Android > Spring Security' 카테고리의 다른 글

[Spring Security] 기본 동작 구조  (0) 2023.10.17
[Spring Security] Spring Security란?  (0) 2023.10.17
[Spring Security] Authentication의 구조  (0) 2023.10.17
[Spring Security] Jwt Token 사용  (0) 2023.10.17
[Spring Security] Security 사용  (1) 2023.10.17
'Web & Android/Spring Security' 카테고리의 다른 글
  • [Spring Security] 기본 동작 구조
  • [Spring Security] Spring Security란?
  • [Spring Security] Authentication의 구조
  • [Spring Security] Jwt Token 사용
woojin._.
woojin._.
여러가지 개발을 해보며 발생하는 이야기들에 대한 블로그입니다:)
  • woojin._.
    Jin's Dev Story
    woojin._.
  • 전체
    오늘
    어제
    • 분류 전체보기 (829)
      • Tools (25)
        • eGovFrame (3)
        • GeoServer (3)
        • QGIS (2)
        • LabelImg (2)
        • Git (6)
        • GitHub (1)
        • Eclipse (7)
        • Visual Studio (1)
      • Web & Android (121)
        • SpringBoot (37)
        • Three.js (2)
        • Spring Data JPA (9)
        • 스프링 부트 쇼핑몰 프로젝트 with JPA (25)
        • Thymeleaf (4)
        • Spring Security (15)
        • Flutter (29)
      • Programming Language (61)
        • JAVA (27)
        • JavaScript (14)
        • Dart (2)
        • Python (15)
        • PHP (3)
      • Database (43)
        • PostgreSQL (32)
        • MYSQL (7)
        • Oracle (3)
        • MSSQL (1)
      • SERVER (17)
        • TCP_IP (3)
        • 리눅스 (7)
        • AWS (7)
      • Coding Test (445)
        • 백준[JAVA] (108)
        • 프로그래머스[JAVA] (260)
        • 알고리즘 고득점 Kit[JAVA] (3)
        • SQL 고득점 Kit[ORACLE] (74)
      • CS 지식 (49)
        • [자료구조] (14)
        • [네트워크] (12)
        • [데이터베이스] (10)
        • [알고리즘] (9)
        • [운영체제] (4)
      • 기타 (6)
      • 자격증 & 공부 (62)
        • 정보처리기사 (2)
        • SQLD (6)
        • 네트워크관리사 2급 (5)
        • 리눅스마스터 1급 (44)
        • 리눅스마스터 2급 (1)
        • ISTQB (3)
        • 시스템보안 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 인기 글

  • 태그

    시큐리티
    백준
    Spring Security
    자바
    리눅스마스터
    springboot
    플러터
    backjoon
    스프링부트
    CS지식
    python
    Flutter
    리눅스
    postgresql
    JPA
    baekjoon
    spring
    데이터베이스
    Oracle
    DB
    프로그래머스
    programmers
    리눅스마스터 1급
    CS
    스프링
    Linux
    Java
    pcce 기출문제
    스프링 부트 쇼핑몰 프로젝트 with JPA
    데이터
  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
woojin._.
[Spring Security] Authentication의 메커니즘
상단으로

티스토리툴바