IAzClientContext 개체의 AccessCheck 메서드를 호출하여 클라이언트가 하나 이상의 작업에 액세스할 수 있는지 확인합니다. IAzClientContext 개체를 만드는 방법에 대한 자세한 내용은 스크립트 클라이언트 컨텍스트 설정참조하세요.
클라이언트에는 둘 이상의 역할의 멤버 자격이 있을 수 있으며 작업이 둘 이상의 작업에 할당될 수 있으므로 Authorization Manager는 모든 역할 및 작업을 확인합니다. 클라이언트가 속한 역할에 작업이 포함된 작업이 있으면 해당 작업에 대한 액세스 권한이 부여됩니다.
클라이언트가 속한 단일 역할에 대한 액세스만 확인하려면 IAzClientContext 개체의 RoleForAccessCheck 속성을 설정합니다.
액세스 확인을 위해 권한 부여 정책 저장소를 초기화할 때 AzAuthorizationStore 개체의 Initialize 메서드의 lFlags 매개 변수 값으로 0을 전달해야 합니다.
런타임에 비즈니스 논리를 적용하여 액세스를 한정할 수도 있습니다. 비즈니스 논리를 사용하여 액세스를 한정하는 방법에 대한 자세한 내용은 스크립트 비즈니스 논리를 사용하여 액세스 한정참조하세요.
다음 예제에서는 작업에 대한 클라이언트의 액세스를 확인하는 방법을 보여줍니다. 이 예제에서는 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)
%>