권한 역할에 대한 스태프 지정 문제점을 해결하려면
다음 정보를 사용하십시오.
관련 주제는 다음과 같습니다.
- 스태프 verb 전개 중 오류 발생
- LDAP 스태프 플러그인을 사용 중인 경우, 플러그인 구성 매개변수 값이 올바르지 않으면
전개에 실패할 수 있습니다. 필수 매개변수를 모두
설정했는지 확인하십시오. BaseDN 매개변수를
LDAP 디렉토리 트리의 루트로 설정하려면 빈 문자열을 지정하고 BaseDN 매개변수를
두 개의 어포스트로피(') 문자(")로 설정하십시오. 큰따옴표(")를 사용하지 마십시오.
BaseDN 매개변수를 설정하지 않으면 전개 시 NullPointerException 예외가
발생합니다.
- 스태프 저장소의 항목이 작업 항목 지정에 반영되지 않음
- 스태프 조회에서 검색되는 최대 사용자 ID 수는
사용 중인 XSL 변환 파일에 정의된 Threshold 변수로
지정합니다. 예를 들어, LDAP 스태프 플러그인에 사용된 XSL 변환 파일은
Linux 및 UNIX 플랫폼에서는 install-root/ProcessChoreographer/Staff에 있고
Windows 플랫폼에서는
install-root\ProcessChoreographer\Staff에 있는
LDAPTransformation.xsl입니다. 기본 Threshold 값은 20입니다. 이 값을
변경하려면 다음을 수행하십시오.
- 새 스태프 플러그인 프로바이더 구성을 작성하여 XSL 파일의 자체 버전을
제공하십시오.
- 필요에 따라 XSL 파일에서 다음 항목을 조정하십시오.
<xsl:variable name="Threshold">20</xsl:variable>
주: Threshold 값을 높게 지정하면
성능이 저하될 수 있습니다. 그러므로 100보다 큰 값은
지정하지 마십시오.
- 타스크 또는 프로세스 인스턴스에 대한 예상하지 않은 스태프 지정
- 타스크의 특정 역할에 대한 스태프 verb를 정의하지 않거나
스태프 분석에 실패하거나 결과를 리턴하지 않으면 기본 스태프
지정이 수행됩니다. 기본 스태프 지정으로 예상하지 않은 사용자 권한이
부여될 수 있습니다. 예를 들어, 프로세스 시작자에게 프로세스 관리자 권한이 부여될 수 있습니다. 또한
많은 권한이 종속적 artifact에서 상속됩니다. 예를 들어, 프로세스 관리자는
모든 인라인 타스크의 관리자도 될 수 있습니다.
다음 테이블은
각 상황에 적용되는 기본값을 설명합니다.
표 1. 비즈니스 프로세스의 역할비즈니스 프로세스의 역할 |
프로세스 모델에 역할이
정의되지 않은 경우... |
프로세스 모델에 역할이 정의되어 있으나
스태프 분석에 실패하거나 올바른 결과를 리턴하지 않은 경우... |
프로세스 관리자 |
프로세스 시작자는 프로세스 관리자가 됨 |
다음 예외가 발생하며 프로세스가 시작되지
않음 EngineAdministratorCannotBeResolvedException
|
프로세스 독서자 |
독서자 없음 |
독서자 없음 |
표 2. 인라인 휴먼 타스크 및 에스컬레이션의 역할인라인 휴먼 타스크 및
에스컬레이션의 역할 |
타스크 모델에 역할이
정의되지 않은 경우... |
타스크 모델에 역할이 정의되어 있으나
스태프 분석에 실패하거나 올바른 결과를 리턴하지 않은 경우... |
타스크 관리자 |
상속만 적용 |
상속만 적용 |
타스크 잠재적 인스턴스 작성자 |
모든 사용자는 잠재적 인스턴스 작성자가 됨 |
모든 사용자는 잠재적 인스턴스 작성자가 됨 |
타스크 잠재적 시작자 |
모든 사용자는 잠재적 시작자가 됨 |
모든 사용자는 잠재적 시작자가 됨 |
타스크 잠재적 소유자 |
모든 사용자는 잠재적 소유자가 됨 |
관리자는 잠재적 소유자가 됨 |
타스크 편집자 |
편집자 없음 |
편집자 없음 |
타스크 독서자 |
상속만 적용 |
상속만 적용 |
에스컬레이션 수신자 |
관리자는 에스컬레이션 수신자가 됨 |
관리자는 에스컬레이션 수신자가 됨 |
인라인 타스크에는 다음 상속 규칙이 적용됩니다.
- 프로세스 관리자는 모든 인라인 타스크, 서브타스크, 후속 타스크 및
에스컬레이션에 대한 관리자가 됩니다.
- 프로세스 독서자는 모든 인라인 타스크, 서브타스크, 후속 타스크 및
에스컬레이션에 대한 독서자가 됩니다.
- 타스크 관리자는 이러한 모든 타스크의 모든 서브타스크, 후속 타스크 및
에스컬레이션에 대한 관리자가 됩니다.
- 타스크 독서자는 이러한 모든 타스크의 모든 서브타스크, 후속 타스크 및
에스컬레이션에 대한 독서자가 됩니다.
- 타스크 역할의 구성원은 타스크의 에스컬레이션, 서브타스크 및 후속
타스크에 대한 독서자가 됩니다.
- 에스컬레이션 수신자는 에스컬레이트된 타스크에 대한 독서자가 됩니다.
표 3. 독립형 휴먼 타스크 및 에스컬레이션의 역할독립형 휴먼 타스크 및
에스컬레이션의 역할 |
타스크 모델에 역할이 정의되지
않은 경우... |
타스크 모델에 역할이 정의되어 있으나
스태프 분석에 실패하거나 올바른 결과를 리턴하지 않은 경우... |
타스크 관리자 |
오리지네이터는 관리자가 됨 |
AdministratorCannotBeResolvedException 예외가
발생하며 타스크가 시작되지 않음 |
타스크 잠재적 인스턴스 작성자 |
모든 사용자는 잠재적 인스턴스 작성자가 됨 |
모든 사용자는 잠재적 인스턴스 작성자가 됨 |
타스크 잠재적 시작자 |
오리지네이터는 잠재적 시작자가 됨 |
CannotCreateWorkItemException 예외가 발생하며
타스크가 시작되지 않음 |
잠재적 소유자 |
모든 사용자는 잠재적 소유자가 됨 |
관리자는 잠재적 소유자가 됨 |
편집자 |
편집자 없음 |
편집자 없음 |
독서자 |
상속만 적용 |
상속만 적용 |
에스컬레이션 수신자 |
관리자는 에스컬레이션 수신자가 됨 |
관리자는 에스컬레이션 수신자가 됨 |
독립형 타스크에는 다음 상속 규칙이 적용됩니다.
- 타스크 관리자는 이러한 모든 타스크의 모든 서브타스크, 후속 타스크 및
에스컬레이션에 대한 관리자가 됩니다.
- 타스크 독서자는 이러한 모든 타스크의 모든 서브타스크, 후속 타스크 및
에스컬레이션에 대한 독서자가 됩니다.
- 타스크 역할의 구성원은 타스크의 에스컬레이션, 서브타스크 및
후속 타스크에 대한 독서자가 됩니다.
- 에스컬레이션 수신자는 에스컬레이트된 타스크에 대한 독서자가 됩니다.
주: 비즈니스 플로우 관리자 API를 통해 메소드를
호출한 경우, J2EE 역할 BPESystemAdministrator의 구성원은
관리자 권한을 가지며 J2EE 역할 BPESystemMonitor의 구성원은
독서자 권한을 가집니다.
주: 휴먼 타스크 관리자 API를 통해
메소드를 호출한 경우, J2EE 역할 TaskSystemAdministrator의 구성원은
관리자 권한을 가지며 J2EE 역할 TaskSystemMonitor의 구성원은
독서자 권한을 가집니다.
- 스태프 활동이 중지되었습니다.
- 다음 문제점 중 하나 이상이 발생할 수 있습니다.
- 비즈니스 프로세스가 탐색을 시작했더라도
휴먼 타스크를 청구할 수 없습니다.
- SystemOut.log 파일에 CWWB0057I:
처리되지 않은 실패로 인해 'MyProcess' 프로세스의 'MyStaffActivity' 활동이 중지되었습니다...
라는 메시지가 포함되어 있습니다.이 메시지는 WebSphere Application Server 보안이 사용 가능하지 않을 수도 있음을
표시합니다. people 권한을 사용하는 프로세스 및 휴먼 타스크는 보안이 사용 가능해야 하고 사용자 레지스트리가 구성되어야 합니다. 다음 단계를 수행하십시오.
- WebSphere 보안이 사용 가능한지 확인하십시오. 관리 콘솔에서
으로 이동한 후 글로벌 보안 사용 가능 선택란을
선택했는지 확인하십시오.
- 사용자 레지스트리가 구성되어 있는지 확인하십시오. 관리 콘솔에서
로 이동한 후 활성 사용자 레지스트리 속성을 선택하십시오.
- 활동이 중지된 경우 활동을 다시 시작하십시오.
- 스태프 저장소에 대한 변경사항이 작업 항목 지정에
즉시 반영되지 않습니다.
Business Process Choreographer는 스태프 디렉토리(예: LDAP(Lightweight Directory Access Protocol) 서버)에
대해 평가한 스태프 지정 결과를 런타임 데이터베이스에 캐시합니다. 스태프 디렉토리를 변경하면
변경사항이 데이터베이스 캐시에 즉시 반영되지 않습니다.
관리
안내서에는 이 캐시를 새로 고치는 다음 세 가지 방법이 설명되어 있습니다.
- 관리 콘솔을 사용하여 스태프 조회 결과 새로 고치기.
중요한 변경을 수행하거나 대부분의 스태프 조회에 대한 결과를
새로 고치려는 경우 이 방법을 사용하십시오.
- 관리 명령을 사용하여 스태프 조회 결과 새로 고치기.
wsadmin 도구를 사용하여 관리 스크립트를 작성하거나
스태프 조회 결과의 서브세트만 즉시 새로 고치려는 경우 이 방법을 사용하십시오.
- refresh 데몬을 사용하여 스태프 조회 결과 새로 고치기.
만기된 모든 스태프 조회 결과를 정기적으로 또는 자동으로 새로 고치기를 설정하려면
이 방법을 사용하십시오.
주: 사용자의 그룹 멤버쉽이 사용자가 로그인하고 있는 동안 변경되는 경우, 선행하는 메소드가
Group verb에서 리턴하는 캐시된 값을 새로 고치지 않습니다. 그룹 멤버쉽은
기본적으로 두 시간 후에 만기되는 사용자의 로그인 세션(WebSphere 보안 LTPA 토큰)에
캐시됩니다. 또한 프로세스 탐색에 사용되는 프로세스 시작자 ID의
그룹 멤버쉽 목록은 새로 고칠 수 없습니다.
- 스태프 분석 관련 오류 및 경고 메시지
- 스태프 분석 시 스태프 저장소에 액세스하는 중에 일반 오류가
발생할 수 있습니다. 이들 오류에 대한 세부사항을 보려면
다음 추적 설정을 확인하면 됩니다. com.ibm.bpe.*=all: com.ibm.task.*=all:com.ibm.ws.staffsupport.ws.*=all
다음
일반 오류 상황은 경고 또는 오류 메시지를 통해 표시됩니다.
- trace.log 파일에서 Could not connect to LDAP server는
LDAP 서버에 대한 연결 실패를 나타냅니다. 네트워크 설정 및
사용 중인 스태프 플러그인 프로바이더의 구성(특히, 프로바이더 URL)을 검사하고
LDAP 서버에 SSL 연결이 필요한지 검증하십시오.
- System.out 또는 System.err 파일에서
javax.xml.transform.TransformerException: org.xml.sax.SAXParseException:
Element type "xsl:template" must be followed by either attribute specifications,
">" or "/>"는 LDAPTransformation.xsl 파일을 읽을 수
없음을 나타냅니다. 스태프 플러그인 프로바이더 구성을 검사하고 구성된
XSLT 파일에서 오류를 확인하십시오.
- trace.log 파일에서 LDAP object not found. dn: uid=unknown,cn=users,dc=ibm,dc=com
[LDAP: error code 32 - No Such Object]는
LDAP 입력 항목을 찾을 수 없음을 나타냅니다. 타스크 모델의 스태프
verb 매개변수 및 LDAP 디렉토리 내용을 검사하여 타스크 모델의 불일치 사항을
확인하십시오.
- trace.log 파일에서 Requested attribute "uid" not found in: uid=test222,cn=users,dc=ibm,dc=com은
조회된 LDAP 오브젝트에서 속성을 찾을 수 없음을 나타냅니다. 타스크 모델의 스태프 verb 매개변수 및 LDAP 디렉토리 내용을
검사하여 타스크 모델의 불일치 사항을 확인하십시오. 또한
스태프 프로바이더 구성의 XSLT 파일에서 오류를 확인하십시오.
- 그룹 작업 항목 및 "Group" verb에 대한 사항
- Group verb 사용 시, 다음과 같은 특별한 상황이
발생할 수 있습니다.