Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

객체 편집 시 데이터 권한 검사

액션이 편집하는 데이터가 단일 데이터소스에서 오는지 여러 데이터소스에서 오는지에 따라 필요한 조회 범위가 다릅니다. 객체 유형의 정의를 편집할 권한과 실제 객체 값을 편집하는 액션의 권한은 구분해야 합니다.

단일 데이터소스 객체

기존 객체를 편집하려면 사용자가 객체를 조회하거나 로드할 수 있어야 하고, 액션에 정의한 제출 조건을 통과해야 합니다.

새 객체를 생성하려면 객체 유형의 입력 데이터소스를 조회할 수 있어야 합니다. 입력 데이터소스에 접근할 수 없으면 생성 액션이 실패합니다.

다중 데이터소스 객체의 접근 상태

다중 데이터소스 객체(Multi-datasource object, MDO)는 속성별로 원천이 다릅니다. 사용자가 모든 원천을 볼 수도 있고, 일부 원천만 볼 수도 있으며, 원천별로 접근 가능한 행이 달라 객체마다 보이는 속성이 달라질 수도 있습니다.

다음 설명에서 A는 액션이 값을 설정하거나 수정하는 속성의 데이터소스 집합, B는 나머지 속성의 데이터소스 집합입니다. 모든 원천을 항상 볼 수 있어야 한다는 조건을 일괄 적용하지 않고 작업별로 검사합니다.

작업필요한 접근 범위나머지 속성의 처리
객체 생성값을 설정하는 A의 기반 데이터소스를 조회할 수 있어야 합니다.B의 권한을 검사하지 않으며 B의 값은 null로 시작합니다.
객체 수정A에서 오는 기존 속성값을 조회할 수 있어야 합니다.B의 속성 권한은 검사하지 않습니다. 검증에는 보이지 않는 값이 null로 나타납니다.
객체 삭제A와 B를 포함한 전체 객체의 모든 속성을 조회할 수 있어야 합니다.일부만 볼 수 있는 객체를 전체 삭제할 수는 없습니다.

생성할 기본 키의 객체가 과거 A에 있었고 현재 삭제 상태라면, 재생성하려면 A에 해당하는 모든 원천에서 그 행 또는 객체를 볼 권한이 필요합니다.

수정에서는 보이지 않는 값이 null인 상태로 검증을 통과해야 합니다. 일부 속성을 조회할 수 없다는 사실을 실제 업무 값이 비어 있다는 사실과 혼동하지 않아야 합니다.

링크 생성과 삭제

두 객체를 잇는 링크를 생성하거나 삭제하려면 사용자가 양끝의 객체를 각각 로드할 수 있어야 합니다. 각 객체의 데이터소스 중 어느 하나를 통해 로드할 수 있으면 되며, 이 검사에서 양끝의 모든 개별 속성이나 데이터소스를 볼 권한을 요구하지는 않습니다.

이 데이터 조회 조건과 별도로 액션의 제출 조건 및 액션 권한을 충족해야 합니다. 액션에 추가적인 읽기 및 쓰기 권한 경계를 설정했다면 그 입력 상한과 출력의 최소 보안 조건도 적용됩니다.