Condividi tramite


Verifica dell'accesso client alle risorse richieste nello script

Chiamare il metodo AccessCheck di un oggetto IAzClientContext per verificare se il client ha accesso a una o più operazioni. Per informazioni sulla creazione di un oggetto IAzClientContext , vedere Definizione di un contesto client in Script.

Un client potrebbe avere l'appartenenza a più ruoli e un'operazione potrebbe essere assegnata a più di un'attività, quindi Gestione autorizzazioni controlla tutti i ruoli e le attività. Se un ruolo a cui appartiene il client contiene qualsiasi attività che contiene un'operazione, viene concesso l'accesso a tale operazione.

Per controllare l'accesso solo per un singolo ruolo a cui appartiene il client, impostare la proprietà RoleForAccessCheck dell'oggetto IAzClientContext .

Quando si inizializza l'archivio criteri di autorizzazione per il controllo di accesso, è necessario passare zero come valore del parametro lFlags del metodo Initialize dell'oggetto AzAuthorizationStore .

È anche possibile applicare la logica di business in fase di esecuzione per qualificare l'accesso. Per informazioni sull'accesso idoneo con la logica di business, vedere Qualificazione dell'accesso con la logica di business in Script.

Nell'esempio seguente viene illustrato come controllare l'accesso di un client a un'operazione. Nell'esempio si presuppone che sia presente un archivio criteri XML esistente denominato MyStore.xml nella directory radice dell'unità C e che questo archivio contenga un'applicazione denominata Expense e un'operazione denominata 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)

%>