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

El método AccessCheck determina si el contexto de cliente actual puede realizar las operaciones especificadas.

Sintaxis

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

Parámetros

[in] bstrObjectName

Nombre del objeto al que se tiene acceso. Esta cadena se usa en auditorías.

[in] varScopeNames

Variante que contiene safearray o el objeto Array de JScript. Cada elemento de la matriz contiene un VT_BSTR que contiene el nombre de un ámbito que coincide con el objeto especificado por el parámetro bstrObjectName . La matriz solo puede contener un elemento. Para usar el ámbito de nivel de aplicación predeterminado, establezca la primera entrada de la matriz en una cadena vacía ("") o VT_EMPTY, o pase VT_EMPTY a este parámetro.

[in] varOperations

Se comprueban las operaciones para las que se comprueba el acceso por el contexto de cliente. Se trata de una variante que contiene un SAFEARRAY o el objeto Array de JScript. Cada elemento de la matriz contiene un VT_I2 o VT_I4 que representa la propiedad OperationID de un objeto IAzOperation en la directiva IAzApplication .

[in, optional] varParameterNames

Los nombres de los parámetros disponibles para las reglas de negocios (BizRules) a través del método AzBizRuleContext::GetParameter . Se trata de una variante que contiene un SAFEARRAY o el objeto Array de JScript. Cada elemento de la matriz contiene un VT_BSTR que contiene un nombre de parámetro. Esta matriz debe ordenarse alfabéticamente por el autor de la llamada; el criterio de ordenación se define mediante un VarCmp que distingue mayúsculas de minúsculas. El orden de la matriz varParameterValues debe coincidir con el orden de esta matriz. El valor predeterminado es VT_NULL.

[in, optional] varParameterValues

Los valores de los parámetros que están disponibles para las reglas de negocios (BizRules) a través del método AzBizRuleContext::GetParameter . Se trata de una variante que contiene un SAFEARRAY o el objeto Array de JScript. Cada elemento de la matriz contiene un valor que corresponde a un elemento de la matriz varParameterNames . El valor predeterminado es VT_NULL. Las entradas de la matriz pueden contener cualquier tipo excepto VT_UNKNOWN y VT_DISPATCH.

[in, optional] varInterfaceNames

Los nombres por los que las interfaces de la matriz varInterfaces se conocerán en un script de BizRule. Se trata de una variante que contiene un SAFEARRAY o el objeto Array de JScript. Cada elemento de la matriz contiene una variante de cadena que contiene un nombre de interfaz. Este método llama al método IActiveScript::AddNamedItem para cada entrada de la matriz. El valor predeterminado es VT_NULL.

[in, optional] varInterfaceFlags

Marcas que se pasarán en la llamada a IActiveScript::AddNamedItem. Se trata de una variante que contiene un SAFEARRAY o el objeto Array de JScript. Cada elemento de la matriz contiene un VT_I4. La marca SCRIPTITEM_ISVISIBLE está implícita; se omite la marca SCRIPTITEM_ISPERSISTENT. Cada entrada de la matriz debe coincidir con el elemento correspondiente de la matriz varInterfaceNames . El valor predeterminado es VT_NULL.

[in, optional] varInterfaces

Las interfaces IDispatch que estarán disponibles para el script de BizRule. Se trata de una variante que contiene un SAFEARRAY o el objeto Array de JScript. Cada elemento de la matriz contiene una interfaz IDispatch . Cada entrada de la matriz debe coincidir con el elemento correspondiente de la matriz varInterfaceNames . El valor predeterminado es VT_NULL.

[out] pvarResults

Puntero a un valor VARIANT usado para devolver un SAFEARRAY que contiene los resultados de la comprobación de acceso. Cada elemento de SAFEARRAY es una VARIANTE de tipo VT_I4. Cada entrada de la matriz coincide con el elemento correspondiente de la matriz varOperations . Si se concede acceso a una operación al contexto de cliente, se devuelve un valor de NO_ERROR en el elemento correspondiente de la matriz pvarResults . Cualquier otro valor indica que no se concede acceso a esa operación. Un valor típico que indica que el error es ERROR_ACCESS_DENIED.

En JScript, la safearray devuelta debe convertirse en el objeto Array de JScript.

Valor devuelto

Si el método se realiza correctamente, el método devuelve NO_ERROR.

Si se produce un error en el método, devuelve un valor HRESULT que indica el estado del método, no el resultado de la comprobación de acceso. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros. Para obtener una lista de códigos de error comunes, consulte Valores HRESULT comunes.

Código o valor devuelto Descripción
ERROR_FILE_CORRUPT
Este código de error se puede devolver si se usa un almacén de autorización de Active Directory y se ha delegado la administración del ámbito. Las definiciones de tareas y roles dentro de un ámbito delegado no pueden tener BizRules. Si una definición de tarea o rol dentro de un ámbito delegado contiene una bizRule (esto es posible si el almacén está dañado), se producirá un error en el método AccessCheck .
OLESCRIPT_E_SYNTAX
BizRule usado para evaluar el acceso contiene un error de sintaxis.

Comentarios

Si la propiedad RoleForAccessCheck se define en el contexto de cliente, el método AccessCheck solo se realizará en ese rol.

Cuando se llama a este método, la pertenencia al grupo de aplicaciones se agrega al contexto de cliente para que no sea necesario volver a calcularla para las comprobaciones de acceso posteriores en el mismo contexto de cliente.

Un BizRule no puede llamar a este método.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado azroles.h
Library Azroles.lib
Archivo DLL Azroles.dll
Redistribuible Paquete de herramientas de administración de Windows Server 2003 en Windows XP