Поделиться через


Метод 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. Каждый элемент массива содержит VT_BSTR, содержащий имя область, которому соответствует объект, заданный параметром bstrObjectName. Массив может содержать только один элемент. Чтобы использовать область уровня приложения по умолчанию, задайте для первой записи в массиве пустую строку ("") или VT_EMPTY или передайте VT_EMPTY в этот параметр.

[in] varOperations

Операции, для которых проверяется доступ контекста клиента. Это вариант, содержащий объект SAFEARRAY или массив JScript. Каждый элемент массива содержит VT_I2 или VT_I4 , представляющий свойство OperationID объекта IAzOperation в политике IAzApplication .

[in, optional] varParameterNames

Имена параметров, доступных для бизнес-правил (BizRules) с помощью метода AzBizRuleContext::GetParameter . Это вариант, содержащий объект SAFEARRAY или массив JScript. Каждый элемент массива содержит VT_BSTR , содержащий имя параметра. Этот массив должен быть отсортирован вызывающим элементом в алфавитном порядке; порядок сортировки определяется с учетом регистра VarCmp. Порядок массива varParameterValues должен соответствовать порядку этого массива. Значение по умолчанию — VT_NULL.

[in, optional] varParameterValues

Значения параметров, доступных бизнес-правилам (BizRules) с помощью метода AzBizRuleContext::GetParameter . Это вариант, содержащий объект SAFEARRAY или массив JScript. Каждый элемент массива содержит значение, соответствующее элементу в массиве varParameterNames . Значение по умолчанию — VT_NULL. Записи в массиве могут содержать любой тип, кроме VT_UNKNOWN и VT_DISPATCH.

[in, optional] varInterfaceNames

Имена, по которым интерфейсы в массиве varInterfaces будут известны в скрипте BizRule. Это вариант, содержащий объект SAFEARRAY или массив JScript. Каждый элемент массива содержит строковый вариант, содержащий имя интерфейса. Этот метод вызывает метод IActiveScript::AddNamedItem для каждой записи в массиве. Значение по умолчанию — VT_NULL.

[in, optional] varInterfaceFlags

Флаги, которые будут переданы при вызове IActiveScript::AddNamedItem. Это вариант, содержащий объект SAFEARRAY или массив JScript. Каждый элемент массива содержит VT_I4. Подразумевается флаг SCRIPTITEM_ISVISIBLE; флаг SCRIPTITEM_ISPERSISTENT игнорируется. Каждая запись в массиве должна соответствовать соответствующему элементу в массиве varInterfaceNames . Значение по умолчанию — VT_NULL.

[in, optional] varInterfaces

Интерфейсы IDispatch , которые будут доступны для скрипта BizRule. Это вариант, содержащий объект SAFEARRAY или массив JScript. Каждый элемент массива содержит интерфейс IDispatch . Каждая запись в массиве должна соответствовать соответствующему элементу в массиве varInterfaceNames . Значение по умолчанию — VT_NULL.

[out] pvarResults

Указатель на VARIANT, используемый для возврата SAFEARRAY, содержащего результаты проверка доступа. Каждый элемент SAFEARRAY является вариантом типа VT_I4. Каждая запись в массиве соответствует соответствующему элементу в массиве varOperations . Если доступ к операции предоставляется контексту клиента, в соответствующем элементе в массиве pvarResults возвращается значение NO_ERROR. Любое другое значение указывает, что доступ к этой операции не предоставлен. Типичное значение, указывающее на сбой, ERROR_ACCESS_DENIED.

В JScript возвращенный объект SAFEARRAY необходимо преобразовать в объект Массив JScript.

Возвращаемое значение

Если метод выполнен успешно, метод возвращает NO_ERROR.

Если метод завершается сбоем, он возвращает значение HRESULT, указывающее состояние метода, а не результат проверка доступа. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице. Список распространенных кодов ошибок см. в разделе Общие значения HRESULT.

Возвращаемый код или значение Описание
ERROR_FILE_CORRUPT
Этот код ошибки может быть возвращен, если используется хранилище авторизации Active Directory и делегировано администрирование область. Определения задач и ролей в делегированном область не могут иметь BizRules. Если определение задачи или роли в делегированном область содержит BizRule (это возможно при повреждении хранилища), метод AccessCheck завершится ошибкой.
OLESCRIPT_E_SYNTAX
BizRule, используемый для оценки доступа, содержит синтаксическую ошибку.

Комментарии

Если свойство RoleForAccessCheck определено в контексте клиента, метод AccessCheck будет выполняться только для этой роли.

При вызове этого метода членство в группе приложений добавляется в контекст клиента, чтобы его не нужно было повторно вычислять для последующих проверок доступа в том же контексте клиента.

Этот метод не может вызываться BizRule.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header azroles.h
Библиотека Azroles.lib
DLL Azroles.dll
Распространяемые компоненты Пакет средств администрирования Windows Server 2003 в Windows XP