Spring Security의 인가 처리 흐름

구황작물·2022년 7월 26일
0

Security

목록 보기
3/10

💡 인가 처리는 인증 처리 이후 사용자 권한에 따른 사이트 접근에 관해 일어나는 과정입니다.

  1. 사용자가 HTTP 요청을 합니다.

  2. FilterSecurityInterceptorSecurityContextHolder로부터 Authentication을 얻습니다.

  3. FilterSecurityInterceptorFilterInvocation을 생성합니다.

  4. FilterInvocationSecurityMetadataSource에 전달하고 ConfigAttribute를 생성합니다. ConfigAttribute는 다수가 존재할 수 있습니다.

  5. Authentication, ConfigAttributeAccessDecisionManager로 전달합니다.

  6. AccessDecisionManagerdecide(Authentication, Collection) 메서드를 호출하여 AccessDecisionVoter에 처리를 위임합니다. AccessDecisionVoter 또한 여러 개일 수 있습니다.

  7. AccessDecisionVotervote() 메서드를 호출하여 해당 Authentication의 AuthoritiesConfigAttribute 목록들을 비교하여 접근 권한을 부여하거나 제한합니다.
    7.1. 권한이 존재하는 경우 AccessDecisionManager에게 ACCESS_GRANTED를 전달합니다.
    7.2. 권한이 존재하지 않는 경우 AccessDeniedException 예외를 던집니다.

profile
그냥 개발 좋아하는 덩이뿌리식물

0개의 댓글

관련 채용 정보