Verificando o acesso do cliente aos recursos solicitados no script

Chame o método AccessCheck de um objeto IAzClientContext para marcar se o cliente tem acesso a uma ou mais operações. Para obter informações sobre como criar um objeto IAzClientContext , consulte Estabelecendo um contexto de cliente no script.

Um cliente pode ter associação em mais de uma função e uma operação pode ser atribuída a mais de uma tarefa, portanto, o Gerenciador de Autorização verifica todas as funções e tarefas. Se qualquer função à qual o cliente pertence contiver qualquer tarefa que contenha uma operação, o acesso a essa operação será concedido.

Para marcar acesso para apenas uma única função à qual o cliente pertence, defina a propriedade RoleForAccessCheck do objeto IAzClientContext.

Ao inicializar o repositório de políticas de autorização para acesso marcar, você deve passar zero como o valor do parâmetro lFlags do método Initialize do objeto AzAuthorizationStore.

Também é possível aplicar a lógica de negócios em tempo de execução para qualificar o acesso. Para obter informações sobre como qualificar o acesso com a lógica de negócios, consulte Qualificando o acesso com lógica de negócios no script.

O exemplo a seguir mostra como marcar o acesso de um cliente a uma operação. O exemplo pressupõe que há um repositório de políticas XML existente chamado MyStore.xml no diretório raiz da unidade C e que esse repositório contém um aplicativo chamado Expense e uma operação chamada 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)

%>