다음을 통해 공유


IAzClientContext::AccessCheck 메서드(azroles.h)

AccessCheck 메서드는 현재 클라이언트 컨텍스트가 지정된 작업을 수행할 수 있는지 여부를 결정합니다.

구문

HRESULT AccessCheck(
  [in]           BSTR    bstrObjectName,
  [in]           VARIANT varScopeNames,
  [in]           VARIANT varOperations,
  [in, optional] VARIANT varParameterNames,
  [in, optional] VARIANT varParameterValues,
  [in, optional] VARIANT varInterfaceNames,
  [in, optional] VARIANT varInterfaceFlags,
  [in, optional] VARIANT varInterfaces,
  [out]          VARIANT *pvarResults
);

매개 변수

[in] bstrObjectName

액세스된 개체의 이름입니다. 이 문자열은 감사에 사용됩니다.

[in] varScopeNames

SAFEARRAY 또는 JScript Array 개체를 포함하는 변형입니다. 배열의 각 요소는 bstrObjectName 매개 변수로 지정된 개체가 일치하는 scope 이름을 포함하는 VT_BSTR 포함합니다. 배열에는 하나의 요소만 포함될 수 있습니다. 기본 애플리케이션 수준 scope 사용하려면 배열의 첫 번째 항목을 빈 문자열("") 또는 VT_EMPTY 설정하거나 이 매개 변수에 VT_EMPTY 전달합니다.

[in] varOperations

클라이언트 컨텍스트에 의한 액세스를 확인하는 작업입니다. SAFEARRAY 또는 JScript Array 개체를 포함하는 변형입니다. 배열의 각 요소는 IAzApplication 정책에서 IAzOperation 개체의 OperationID 속성을 나타내는 VT_I2 또는 VT_I4 보유합니다.

[in, optional] varParameterNames

AzBizRuleContext::GetParameter 메서드를 통해 비즈니스 규칙(BizRules)에 사용할 수 있는 매개 변수의 이름입니다. SAFEARRAY 또는 JScript Array 개체를 포함하는 변형입니다. 배열의 각 요소는 매개 변수 이름을 포함하는 VT_BSTR 포함합니다. 이 배열은 호출자가 사전순으로 정렬해야 합니다. 정렬 순서는 대/소문자를 구분하는 VarCmp로 정의됩니다. varParameterValues 배열의 순서는 이 배열의 순서와 일치해야 합니다. 기본값은 VT_NULL.

[in, optional] varParameterValues

AzBizRuleContext::GetParameter 메서드를 통해 비즈니스 규칙(BizRules)에 사용할 수 있는 매개 변수의 값입니다. SAFEARRAY 또는 JScript Array 개체를 포함하는 변형입니다. 배열의 각 요소는 varParameterNames 배열의 요소에 해당하는 값을 보유합니다. 기본값은 VT_NULL. 배열의 항목은 VT_UNKNOWN 및 VT_DISPATCH 제외한 모든 형식을 보유할 수 있습니다.

[in, optional] varInterfaceNames

varInterfaces 배열의 인터페이스를 BizRule 스크립트에서 알 수 있는 이름입니다. SAFEARRAY 또는 JScript Array 개체를 포함하는 변형입니다. 배열의 각 요소는 인터페이스 이름을 포함하는 문자열 변형을 포함합니다. 이 메서드는 배열의 각 항목에 대해 IActiveScript::AddNamedItem 메서드를 호출합니다. 기본값은 VT_NULL.

[in, optional] varInterfaceFlags

IActiveScript::AddNamedItem 호출에서 전달될 플래그입니다. SAFEARRAY 또는 JScript Array 개체를 포함하는 변형입니다. 배열의 각 요소는 VT_I4 보유합니다. SCRIPTITEM_ISVISIBLE 플래그는 암시적입니다. SCRIPTITEM_ISPERSISTENT 플래그는 무시됩니다. 배열의 각 항목은 varInterfaceNames 배열의 해당 요소와 일치해야 합니다. 기본값은 VT_NULL.

[in, optional] varInterfaces

BizRule 스크립트에 사용할 수 있는 IDispatch 인터페이스입니다. SAFEARRAY 또는 JScript Array 개체를 포함하는 변형입니다. 배열의 각 요소는 IDispatch 인터페이스를 보유합니다. 배열의 각 항목은 varInterfaceNames 배열의 해당 요소와 일치해야 합니다. 기본값은 VT_NULL.

[out] pvarResults

액세스 검사 결과를 포함하는 SAFEARRAY를 반환하는 데 사용되는 VARIANT에 대한 포인터입니다. SAFEARRAY의 각 요소는 VT_I4 형식의 VARIANT입니다. 배열의 각 항목은 varOperations 배열의 해당 요소와 일치합니다. 작업에 대한 액세스 권한이 클라이언트 컨텍스트에 부여되면 pvarResults 배열의 해당 요소에 NO_ERROR 값이 반환됩니다. 다른 값은 해당 작업에 대한 액세스 권한이 부여되지 않음을 나타냅니다. 오류를 나타내는 일반적인 값은 ERROR_ACCESS_DENIED.

JScript에서 반환된 SAFEARRAY 는 JScript Array 개체로 변환되어야 합니다.

반환 값

메서드가 성공하면 메서드는 NO_ERROR 반환합니다.

메서드가 실패하면 액세스 검사 결과가 아니라 메서드의 상태 나타내는 HRESULT 값을 반환합니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다. 일반적인 오류 코드 목록은 일반적인 HRESULT 값을 참조하세요.

반환 코드/값 설명
ERROR_FILE_CORRUPT
Active Directory 권한 부여 저장소를 사용하고 scope 관리가 위임된 경우 이 오류 코드를 반환할 수 있습니다. 위임된 scope 내의 작업 및 역할 정의에는 BizRules가 있을 수 없습니다. 위임된 scope 내의 작업 또는 역할 정의에 BizRule이 포함된 경우(저장소가 손상된 경우 가능) AccessCheck 메서드가 실패합니다.
OLESCRIPT_E_SYNTAX
액세스를 평가하는 데 사용되는 BizRule에는 구문 오류가 포함됩니다.

설명

RoleForAccessCheck 속성이 클라이언트 컨텍스트에 정의된 경우 AccessCheck 메서드는 해당 역할에 대해서만 수행됩니다.

이 메서드가 호출되면 애플리케이션 그룹 멤버 자격이 클라이언트 컨텍스트에 추가되므로 동일한 클라이언트 컨텍스트에서 후속 액세스 검사를 위해 다시 계산할 필요가 없습니다.

BizRule에서는 이 메서드를 호출할 수 없습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 azroles.h
라이브러리 Azroles.lib
DLL Azroles.dll
재배포 가능 파일 Windows XP의 Windows Server 2003 관리 도구 팩