스크립트에서 요청된 리소스에 대한 클라이언트 액세스 확인
IAzClientContext 개체의 AccessCheck 메서드를 호출하여 클라이언트가 하나 이상의 작업에 액세스할 수 있는지 여부를 검사. IAzClientContext 개체를 만드는 방법에 대한 자세한 내용은 스크립트에서 클라이언트 컨텍스트 설정을 참조하세요.
클라이언트에 둘 이상의 역할의 멤버 자격이 있을 수 있으며 작업이 둘 이상의 작업에 할당될 수 있으므로 권한 부여 관리자는 모든 역할과 작업을 확인합니다. 클라이언트가 속한 역할에 작업이 포함된 작업이 포함된 경우 해당 작업에 대한 액세스 권한이 부여됩니다.
클라이언트가 속한 단일 역할에 대한 액세스만 검사 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)
%>