Condividi tramite


Metodo IAzClientContext::AccessCheck (azroles.h)

Il metodo AccessCheck determina se il contesto client corrente è autorizzato a eseguire le operazioni specificate.

Sintassi

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

Parametri

[in] bstrObjectName

Nome dell'oggetto a cui si accede. Questa stringa viene usata nei controlli.

[in] varScopeNames

Variante che contiene un oggetto SAFEARRAY o JScript Array . Ogni elemento della matrice contiene un VT_BSTR che contiene il nome di un ambito corrispondente all'oggetto specificato dal parametro bstrObjectName . La matrice può contenere un solo elemento. Per usare l'ambito predefinito a livello di applicazione, impostare la prima voce nella matrice su una stringa vuota ("") o VT_EMPTY oppure passare VT_EMPTY in a questo parametro.

[in] varOperations

Le operazioni per cui viene controllato l'accesso dal contesto client. Si tratta di una variante che contiene un oggetto SAFEARRAY o JScript Array . Ogni elemento della matrice contiene un VT_I2 o un VT_I4 che rappresenta la proprietà OperationID di un oggetto IAzOperation nei criteri IAzApplication .

[in, optional] varParameterNames

Nomi dei parametri disponibili per le regole business (BizRules) tramite il metodo AzBizRuleContext::GetParameter . Si tratta di una variante che contiene un oggetto SAFEARRAY o JScript Array . Ogni elemento della matrice contiene un VT_BSTR che contiene un nome di parametro. Questa matrice deve essere ordinata alfabeticamente in base al chiamante; l'ordinamento è definito da un varCmp con distinzione tra maiuscole e minuscole. L'ordine della matrice varParameterValues deve corrispondere all'ordine di questa matrice. Il valore predefinito è VT_NULL.

[in, optional] varParameterValues

I valori dei parametri disponibili per le regole business (BizRules) tramite il metodo AzBizRuleContext::GetParameter . Si tratta di una variante che contiene un oggetto SAFEARRAY o JScript Array . Ogni elemento della matrice contiene un valore che corrisponde a un elemento nella matrice varParameterNames . Il valore predefinito è VT_NULL. Le voci nella matrice possono contenere qualsiasi tipo tranne VT_UNKNOWN e VT_DISPATCH.

[in, optional] varInterfaceNames

I nomi in base ai quali le interfacce nella matrice varInterfaces saranno note in uno script BizRule. Si tratta di una variante che contiene un oggetto SAFEARRAY o JScript Array . Ogni elemento della matrice contiene una variante stringa contenente un nome di interfaccia. Questo metodo chiama il metodo IActiveScript::AddNamedItem per ogni voce della matrice. Il valore predefinito è VT_NULL.

[in, optional] varInterfaceFlags

Flag che verranno passati nella chiamata a IActiveScript::AddNamedItem. Si tratta di una variante che contiene un oggetto SAFEARRAY o JScript Array . Ogni elemento della matrice contiene un VT_I4. Il flag SCRIPTITEM_ISVISIBLE è implicito; il flag SCRIPTITEM_ISPERSISTENT viene ignorato. Ogni voce della matrice deve corrispondere all'elemento corrispondente nella matrice varInterfaceNames . Il valore predefinito è VT_NULL.

[in, optional] varInterfaces

Interfacce IDispatch che verranno rese disponibili per lo script BizRule. Si tratta di una variante che contiene un oggetto SAFEARRAY o JScript Array . Ogni elemento della matrice contiene un'interfaccia IDispatch . Ogni voce della matrice deve corrispondere all'elemento corrispondente nella matrice varInterfaceNames . Il valore predefinito è VT_NULL.

[out] pvarResults

Puntatore a un valore VARIANT utilizzato per restituire un oggetto SAFEARRAY contenente i risultati del controllo di accesso. Ogni elemento di SAFEARRAY è un valore VARIANT di tipo VT_I4. Ogni voce della matrice corrisponde all'elemento corrispondente nella matrice varOperations . Se l'accesso a un'operazione viene concesso al contesto client, viene restituito un valore di NO_ERROR nell'elemento corrispondente nella matrice pvarResults . Qualsiasi altro valore indica che l'accesso a tale operazione non viene concesso. Valore tipico che indica che l'errore è ERROR_ACCESS_DENIED.

In JScript l'oggetto SAFEARRAY restituito deve essere convertito nell'oggetto Array JScript.

Valore restituito

Se il metodo ha esito positivo, il metodo restituisce NO_ERROR.

Se il metodo ha esito negativo, restituisce un valore HRESULT che indica lo stato del metodo, non il risultato del controllo di accesso. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente. Per un elenco dei codici di errore comuni, vedere Valori HRESULT comuni.

Codice/valore restituito Descrizione
ERROR_FILE_CORRUPT
Questo codice di errore può essere restituito se viene usato un archivio autorizzazioni di Active Directory e l'amministrazione dell'ambito è stata delegata. Le definizioni di attività e ruolo all'interno di un ambito delegato non possono avere BizRules. Se una definizione di attività o di ruolo all'interno di un ambito delegato contiene un oggetto BizRule (possibile se l'archivio è danneggiato), il metodo AccessCheck avrà esito negativo.
OLESCRIPT_E_SYNTAX
BizRule usato per valutare l'accesso contiene un errore di sintassi.

Commenti

Se la proprietà RoleForAccessCheck è definita nel contesto client, il metodo AccessCheck verrà eseguito solo su tale ruolo.

Quando questo metodo viene chiamato, l'appartenenza al gruppo di applicazioni viene aggiunta al contesto client in modo che non debba essere ricalcolate per i successivi controlli di accesso nello stesso contesto client.

Questo metodo non può essere chiamato da bizRule.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione azroles.h
Libreria Azroles.lib
DLL Azroles.dll
Componente ridistribuibile Windows Server 2003 Administration Tools Pack in Windows XP