共用方式為


驗證腳本中要求資源的用戶端存取權

呼叫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)

%>