共用方式為


在文稿中驗證用戶端對要求資源的存取

呼叫 IAzClientContext 物件的 AccessCheck 方法,以檢查用戶端是否可以存取一或多個作業。 如需建立 IAzClientContext 對象的相關信息,請參閱在腳本 中建立用戶端內容

用戶端可能具有多個角色的成員資格,而且作業可能會指派給多個工作,因此授權管理員會檢查所有角色和工作。 如果客戶端所屬的任何角色包含任何包含作業的工作,則會授與該作業的存取權。

若要僅檢查客戶端所屬的單一角色的存取權,請設定 IAzClientContext 物件的 RoleForAccessCheck 屬性。

初始化授權原則存放區以進行存取檢查時,您必須將零作為 lFlags 參數的值傳遞,該參數屬於 azAuthorizationStore物件的 Initialize方法。

您也可以在運行時間套用商業規則來限定存取權。 有關使用商業邏輯限定存取的資訊,請參閱腳本 中的

下列範例示範如何檢查客戶端對作業的存取權。 此範例假設磁碟驅動器 C 根目錄中有一個名為 MyStore.xml 的現有 XML 原則存放區,而且此存放區包含名為 Expense 的應用程式和名為 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)

%>