Правилами авторизации называются сценарии, написанные на языках VBScript или JScript, которые можно включать в определения ролей и в определения задач. Правило авторизации определяет, разрешена ли роль или задача.
С помощью правил авторизации можно производить авторизацию на основании любого условия, которое может проверить сценарий. В том числе: права и разрешения, время суток, ограничения затрат, остатки на счетах или другие критерии.
Диспетчер авторизации не предназначен для написания или отладки правил авторизации. Создавать сценарии можно в любом текстовом редакторе (например, в программе «Блокнот»), в интегрированной среде разработки, например, в Visual Studio .NET, или в другом подходящем приложении. Правила авторизации обычно создаются профессиональными разработчиками.
Дополнительные сведения о создании правил авторизации и использовании API диспетчера авторизации см. на веб-сайте
Контроль использования бизнес-правил и правил авторизации
Контроль использования на каждом клиенте
Начиная с версии Windows Server 2008, использование бизнес-правил и правил авторизации может управляться параметром реестра. По умолчанию правила отключены. Предыдущие версии Windows не поддерживали данную возможность.
Как правило, для включения правил авторизации и бизнес-правил, если они используются в данной среде, нужно использовать программу установки или сценарий, выполняемый операционной системой.
Важно! | |
Этот параметр управляется отдельно для каждого приложения диспетчера авторизации на каждом клиенте. |
Ниже приведен пример сценария, который включает или выключает рабочие правила и правила авторизации для приложения:
'
' Enabling or disabling BizRules
for an application
' This script uses Authorization Manager Administrative interfaces to enable or disable
' BizRules for a specified Authorization Manager application in a specified Authorization Manager policy store
On Error Resume Next
Set objArgs = WScript.Arguments
If objArgs.count <> 3 then
wscript.echo "Usage: SetBizRule ""AzManStoreURL"" ""AzApplicaitonName"" True/False"
wscript.echo "Example: SetBizRule ""msxml://d:\inetpub\wwwroot\AzStore.xml"" ""MyApp"" True"
wscript.echo "Run with 'cscript' command in cmd.exe to avoid msg boxes"
Else
' VBScript source code
Dim AzStoreObj
Dim AzManStoreURL : AzManStoreURL = objArgs(0)
Dim AzManAppName : AzManAppName = objArgs(1)
Dim BizRulesEnabled : BizRulesEnabled = objArgs(2)
' create azman object
Set AzStoreObj = CreateObject("AzRoles.AzAuthorizationStore")
If Err.Number > 0 Then
WScript.Echo "Can not create AzRoles.AzAuthorizationStore. Check Authorization Manager installation"
WScript.Quit
End If
' initialize store for Administration
' assumes store exists - if store is being created (e.g. an installing applicaion)
' use the value 3 instead of 2 in the call to IAzAuthorizationStore::initialize
Err.Clear
AzStoreObj.Initialize 2, AzManStoreURL
If Err.Number <> 0 Then
WScript.Echo "AzRoles.AzAuthorizationStore failed to initialize. Check store URL"
WScript.Quit
End If
' open applicaion
set AzApp = AzStoreObj.OpenApplication(AzManAppName)
If Err.Number <> 0 Then
WScript.Echo "AzRoles.AzAuthorizationStore failed to open application: " + AzManAppName + ". Check application Name."
WScript.Quit
End If
' set BizRulesEnabled property
WSCript.Echo "App BizRule Before:" & AzApp.BizRulesEnabled
AzApp.BizRulesEnabled = BizRulesEnabled
WSCript.Echo "App BizRule After:" & AzApp.BizRulesEnabled
If Err.Number = 0 Then
WScript.Echo "BizRulesEnabled is updated successfully."
Else
WScript.Echo "BizRulesEnabled is NOT updated successfully."
End If
End if
Контроль использования для всего хранилища данных авторизации
Настроив ограничения правил авторизации на вкладке Ограничения на странице свойств хранилища данных авторизации, можно:
-
отключать правила авторизации и бизнес-правила для хранилища;
-
задавать время ожидания, чтобы ограничить максимальное время выполнения сценария;
-
разрешить выполнение сценария в течение неограниченного времени.
Дополнительные сведения см. в разделе Общее представление об ограничениях хранилища диспетчера авторизации.
Пример сценария VBScript
Ниже приведен пример правила авторизации на языке VBScript, которое всегда дает разрешение:
AzBizRuleContext.BusinessRuleResult = True
Дополнительные сведения о языке сценариев VBScript см. на веб-странице
Пример сценария JScript
Ниже приведен пример правила авторизации на языке JScript, которое всегда дает разрешение:
AzBizRuleContext.BusinessRuleResult = true;
Дополнительные сведения о языке сценариев JScript см. на веб-странице