Метод 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.
Возвращаемый код или значение | Описание |
---|---|
|
Этот код ошибки может быть возвращен, если используется хранилище авторизации Active Directory и делегировано администрирование область. Определения задач и ролей в делегированном область не могут иметь BizRules. Если определение задачи или роли в делегированном область содержит BizRule (это возможно при повреждении хранилища), метод AccessCheck завершится ошибкой. |
|
BizRule, используемый для оценки доступа, содержит синтаксическую ошибку. |
Комментарии
Если свойство RoleForAccessCheck определено в контексте клиента, метод AccessCheck будет выполняться только для этой роли.
При вызове этого метода членство в группе приложений добавляется в контекст клиента, чтобы его не нужно было повторно вычислять для последующих проверок доступа в том же контексте клиента.
Этот метод не может вызываться BizRule.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | azroles.h |
Библиотека | Azroles.lib |
DLL | Azroles.dll |
Распространяемые компоненты | Пакет средств администрирования Windows Server 2003 в Windows XP |