본문 바로가기
개발 관련 지식/Spring Framework Basic

Security - Authorization 인가 개념

by 권태일1147 2022. 4. 3.

스프링 시큐리티가 지원하는 권한 계층

  • 웹 계층
    • URL 요청에 따른 메뉴 혹은 화면 단위의 레벨 보안
    • url에 접근 가능한 권한과 사용자의 권한을 비교해서 인가 처리
  • 서비스 계층
    • 화면 단위가 아닌 메소드 같은 기능 단위의 레벨 보안
  • 도메인 계층
    • 객체 단위의 레벨 보안

 

인가 프로세스

  1. 사용자 요청
  2. FilterSecurityInterceptor가 요청을 받아서 인증 여부를 체크한다
  3. SecurityMetadataSource 클래스가 자원에 접근하기 위해 필요한 권한 정보를 조회한다.
    • 접근에 필요한 권한 정보가 따로 없으면 자원에 접근 허용한다.
  4. 권한 정보를 AccessDecisionManager에서 내부적으로 AccessDecisionVoter가 승인/거부 결과를 AccessDecisionManager에게 반환한다.
  5. 접근이 승인 되면 자원 접근이 허용된다.