Partager via


Vérification de l’accès client aux ressources demandées dans le script

Appelez la méthode AccessCheck d’un objet IAzClientContext pour case activée si le client a accès à une ou plusieurs opérations. Pour plus d’informations sur la création d’un objet IAzClientContext , consultez Établissement d’un contexte client dans un script.

Un client peut être membre de plusieurs rôles et une opération peut être affectée à plusieurs tâches. Le Gestionnaire d’autorisations recherche donc tous les rôles et tâches. Si un rôle auquel appartient le client contient une tâche contenant une opération, l’accès à cette opération est accordé.

Pour case activée accès à un seul rôle auquel appartient le client, définissez la propriété RoleForAccessCheck de l’objet IAzClientContext.

Lors de l’initialisation du magasin de stratégies d’autorisation pour l’accès case activée, vous devez passer zéro comme valeur du paramètre lFlags de la méthode Initialize de l’objet AzAuthorizationStore.

Il est également possible d’appliquer une logique métier au moment de l’exécution pour qualifier l’accès. Pour plus d’informations sur l’accès éligible avec la logique métier, consultez Qualification de l’accès avec la logique métier dans un script.

L’exemple suivant montre comment case activée l’accès d’un client à une opération. L’exemple suppose qu’il existe un magasin de stratégies XML nommé MyStore.xml dans le répertoire racine du lecteur C, et que ce magasin contient une application nommée Expense et une opération nommée UseFormControl.

<%@ Language=VBScript %>
<%
'  Create the AzAuthorizationStore object.
Dim AzManStore
Set AzManStore = CreateObject("AzRoles.AzAuthorizationStore")

'  Initialize the authorization store.
AzManStore.Initialize 0, "msxml://C:\MyStore.xml"

'  Open the application object in the store.
Dim expenseApp
Set expenseApp = AzManStore.OpenApplication("Expense")

'  Create a client context.
Dim clientName
clientName = Request.ServerVariables("LOGON_USER")
Dim clientContext
Set clientContext = _
    expenseApp.InitializeClientContextFromName(clientName)

'  Open the operation to check.
Dim formOperation
Set formOperation = expenseApp.OpenOperation("UseFormControl")

'  Get the ID of the operation.
Dim operationID
operationID = formOperation.OperationID

'  Check access.
Dim Operations(1)
Operations(0) = operationID
Dim Results

Results = _
    clientContext.AccessCheck("UseFormControl", Empty, Operations)

%>