驗證腳本中要求資源的用戶端存取權
呼叫IAzClientCoNtext物件的AccessCheck方法,以檢查用戶端是否可以存取一或多個作業。 如需建立 IAzClientCoNtext 物件的相關資訊,請參閱 在腳本中建立用戶端內容。
用戶端可能具有多個角色的成員資格,而且作業可能會指派給多個工作,因此 Authorization Manager 會檢查所有角色和工作。 如果用戶端所屬的任何角色包含任何包含作業的工作,則會授與該作業的存取權。
若要只檢查用戶端所屬單一角色的存取權,請設定IAzClientCoNtext物件的RoleForAccessCheck屬性。
初始化授權原則存放區以進行存取檢查時,您必須傳遞零作為AzAuthorizationStore物件Initialize方法之lFlags參數的值。
您也可以在執行時間套用商務邏輯來限定存取權。 如需使用商務邏輯限定存取的詳細資訊,請參閱 腳本中的。
下列範例示範如何檢查用戶端對作業的存取權。 此範例假設磁片磁碟機 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)
%>