<aside> 💡 투쓰 프로젝트에 도메인 객체 권한 관리를 위한 ACL 적용하기 (Spring Security ACL 기준)

</aside>

ACL 개요

ACL(Access Control list) 는 각 객체 또는 객체의 속성에 적용된 허가 목록을 의미하며 어떤 특정한 객체에 대해서 어떤 대상이 어떤 권한을 가지고 있는지를 나타낸다.

ACL 동작방식

권한이 필요한 도메인 객체 인스턴스에 사용자가 접근할 경우 ACL 정보를 DB 에서 조회하여 권한이 있는지를 확인하는 방식으로 동작한다.

대략적인 순서는 다음과 같다.

  1. 사용자가 권한이 필요한 도메인 객체에 접근한다.
  2. 사용자 정보, 도메인 객체 인스턴스 정보로 권한 정보를 조회한다.
  3. 접근가능한 권한인 경우 승인, 아닌경우 접근을 금지한다.

ACL 구성요소

ACL 의 주요 구성요소는 다음과 같다.

각 구성요소는 DB 에 저장된다.