2017-02-08 7 views
1

OIM 11.1.2.3/SOA 11.1.1.9에서 역할을 부여/취소하라는 요청에 대한 워크 플로우를 구성하고 있습니다.OIM/SOA 기본 요청 거부 워크 플로우

특정 관리자 역할을 가진 사용자가 요청을 시작한 경우 특정 역할을 할당/취소하는 요청 인 경우 요청을 승인하도록 워크 플로 규칙을 설정할 수 있으며 역할이 부여/'직접'워크 플로 처리없이 취소합니다.

요청이 시스템 관리자에 의해 시작된 경우 기본 워크 플로 규칙을 사용하여 요청을 승인 할 수 있으며 '직접'워크 플로 처리없이 '직접'역할을 부여하거나 취소 할 수 있습니다.

다른 어떠한 경우에도 요청을 거절해야합니다.

이 방법은 단일 REJECT 결과가있는 사용자 정의 SOA 워크 플로우 컴포지트를 작성하여 최종 워크 플로우 규칙으로 구성하여 이전 규칙이 일치하지 않으면 실행되도록하는 것입니다.

요구 사항을 올바르게 충족시키기위한 방법은 있습니까? 나는 인간의 상호 작용을 일으키고 싶지 않고 변화를 거부하고 처리를 끝내기 만하면됩니다.

답변

1

REJECT SOA 워크 플로우 대신 데이터 유효성 검사기를 사용하여이 요구 사항을 달성하기로 결정했습니다.

우리는 AssignRolesDataValidator를 확장하는 사용자 정의 유효성 검사기를 만들었습니다. sysadmin이 아니고 요청 된 역할에 대해 필수 관리 역할이 아닌 사람이 요청을 시작하면 데이터 유효성 검사기가 InvalidRequestDataException을 throw하고 오류 메시지가 화면에 표시됩니다. 데이터 유효성 검사기 validate() 메서드가 예외없이 완료된 경우, 즉 요청이 해당 사용자에 의해 허용 된 경우에만 처리가 계속되고 워크 플로 규칙을 평가합니다. 워크 플로 규칙은 승인 또는 거부 결정이 아닌 요청이 승인 된 방식 (위의 각 경우에 '직접'할당 및 워크 플로 없음)을 처리합니다.

이 기능은 '유효한'요청 (유효한 관리 역할 구성원에 의한 역할 할당) 만 허용하는 이점이 있지만 흐름 논리가 구성되는 방식을 복잡하게합니다. 데이터 유효성 검사기 코드와 워크 플로 규칙을 모두 유지 관리해야합니다.

모든 의견/조언을 환영합니다.