Méthode IAzClientContext ::AccessCheck (azroles.h)

La méthode AccessCheck détermine si le contexte client actuel est autorisé à effectuer les opérations spécifiées.

Syntaxe

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
);

Paramètres

[in] bstrObjectName

Nom de l’objet consulté. Cette chaîne est utilisée dans les audits.

[in] varScopeNames

Variante qui contient un objet SAFEARRAY ou JScript Array . Chaque élément du tableau contient une VT_BSTR qui contient le nom d’une étendue que l’objet spécifié par le paramètre bstrObjectName correspond. Le tableau ne peut contenir qu’un seul élément. Pour utiliser l’étendue au niveau de l’application par défaut, définissez la première entrée du tableau sur une chaîne vide («  ») ou VT_EMPTY, ou transmettez VT_EMPTY à ce paramètre.

[in] varOperations

Opérations pour lesquelles l’accès par le contexte client est vérifié. Il s’agit d’une variante qui contient un objet SAFEARRAY ou JScript Array . Chaque élément du tableau contient un VT_I2 ou VT_I4 qui représente la propriété OperationID d’un objet IAzOperation dans la stratégie IAzApplication .

[in, optional] varParameterNames

Noms des paramètres disponibles pour les règles d’entreprise (BizRules) via la méthode AzBizRuleContext ::GetParameter . Il s’agit d’une variante qui contient un objet SAFEARRAY ou JScript Array . Chaque élément du tableau contient un VT_BSTR qui contient un nom de paramètre. Ce tableau doit être trié par ordre alphabétique par l’appelant ; l’ordre de tri est défini par un VarCmp respectant la casse. L’ordre du tableau varParameterValues doit correspondre à l’ordre de ce tableau. La valeur par défaut est VT_NULL.

[in, optional] varParameterValues

Valeurs des paramètres disponibles pour les règles d’entreprise (BizRules) via la méthode AzBizRuleContext ::GetParameter . Il s’agit d’une variante qui contient un objet SAFEARRAY ou JScript Array . Chaque élément du tableau contient une valeur qui correspond à un élément du tableau varParameterNames . La valeur par défaut est VT_NULL. Les entrées du tableau peuvent contenir n’importe quel type, sauf VT_UNKNOWN et VT_DISPATCH.

[in, optional] varInterfaceNames

Noms par lesquels les interfaces du tableau varInterfaces seront connues dans un script BizRule. Il s’agit d’une variante qui contient un objet SAFEARRAY ou JScript Array . Chaque élément du tableau contient une variante de chaîne qui contient un nom d’interface. Cette méthode appelle la méthode IActiveScript ::AddNamedItem pour chaque entrée du tableau. La valeur par défaut est VT_NULL.

[in, optional] varInterfaceFlags

Indicateurs qui seront passés dans l’appel à IActiveScript ::AddNamedItem. Il s’agit d’une variante qui contient un objet SAFEARRAY ou JScript Array . Chaque élément du tableau contient une VT_I4. L’indicateur SCRIPTITEM_ISVISIBLE est implicite ; l’indicateur SCRIPTITEM_ISPERSISTENT est ignoré. Chaque entrée du tableau doit correspondre à l’élément correspondant dans le tableau varInterfaceNames . La valeur par défaut est VT_NULL.

[in, optional] varInterfaces

Interfaces IDispatch qui seront mises à la disposition du script BizRule. Il s’agit d’une variante qui contient un objet SAFEARRAY ou JScript Array . Chaque élément du tableau contient une interface IDispatch . Chaque entrée du tableau doit correspondre à l’élément correspondant dans le tableau varInterfaceNames . La valeur par défaut est VT_NULL.

[out] pvarResults

Pointeur vers un VARIANT utilisé pour retourner un SAFEARRAY qui contient les résultats du case activée d’accès. Chaque élément du SAFEARRAY est un VARIANT de type VT_I4. Chaque entrée du tableau correspond à l’élément correspondant dans le tableau varOperations . Si l’accès à une opération est accordé au contexte client, une valeur de NO_ERROR est retournée dans l’élément correspondant dans le tableau pvarResults . Toute autre valeur indique que l’accès à cette opération n’est pas accordé. Une valeur typique qui indique un échec est ERROR_ACCESS_DENIED.

Dans JScript, le SAFEARRAY retourné doit être converti en objet JScript Array .

Valeur retournée

Si la méthode réussit, la méthode retourne NO_ERROR.

Si la méthode échoue, elle retourne une valeur HRESULT qui indique le status de la méthode, et non le résultat de l’case activée d’accès. Les valeurs possibles sont notamment celles figurant dans le tableau suivant. Pour obtenir la liste des codes d’erreur courants, consultez Valeurs HRESULT courantes.

Code/valeur de retour Description
ERROR_FILE_CORRUPT
Ce code d’erreur peut être retourné si un magasin d’autorisations Active Directory est utilisé et que l’administration de l’étendue a été déléguée. Les définitions de tâche et de rôle dans une étendue déléguée ne peuvent pas avoir BizRules. Si une définition de tâche ou de rôle dans une étendue déléguée contient un BizRule (cela est possible si le magasin est endommagé), la méthode AccessCheck échoue.
OLESCRIPT_E_SYNTAX
Le bizRule utilisé pour évaluer l’accès contient une erreur de syntaxe.

Remarques

Si la propriété RoleForAccessCheck est définie dans le contexte client, la méthode AccessCheck est exécutée uniquement sur ce rôle.

Lorsque cette méthode est appelée, l’appartenance au groupe d’applications est ajoutée au contexte client afin qu’elle n’ait pas besoin d’être recalculée pour les vérifications d’accès suivantes sur le même contexte client.

Cette méthode ne peut pas être appelée par un BizRule.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête azroles.h
Bibliothèque Azroles.lib
DLL Azroles.dll
Composant redistribuable Windows Server 2003 Administration Tools Pack sur Windows XP