Auktoriseringsregler är skript skrivna i VBScript eller JScript som du kan inkludera när du skapar roll- och aktivitetsdefinitioner. Dessa regler avgör om en roll eller aktivitet är tillåten.
Om du använder auktoriseringsregler kan du basera auktoriseringsbeslut på något av de villkor som kan testas av ett skript. Du kan t.ex. testa villkor som privilegier och behörigheter, tidpunkter, utgiftstak och kontosaldon.
Auktoriseringshanteraren är inte avsett för att skriva eller felsöka auktoriseringsregler. Du kan skriva skripten i en textredigerare, t.ex. Anteckningar, i en integrerad utvecklingsmiljö som Visual Studio .NET eller i något annat program. Det är vanligtvis professionella utvecklare som skriver auktoriseringsregler.
Mer information om hur du skapar auktoriseringsregler och använder Auktoriseringshanterarens API:er finns i
Kontrollera användningen av företagslogikregler och auktoriseringsregler
Kontrollera användning per klient
Från och med Windows Server 2008 kan bruket av företagslogik- och auktoriseringsregler kontrolleras med en registerinställning. Regler inaktiveras som standard. Tidigare versioner av Windows har inte stöd för den här funktionen.
Vanligtvis använder du ett installationsprogram eller ett skript som körs av operativsystemet när du aktiverar auktoriseringsregler och företagslogikregler om de används i miljön.
Viktigt! | |
Inställningen kontrolleras separat för varje program i Auktoriseringshanteraren på varje klient. |
Följande är ett exempelskript som aktiverar eller inaktiverar företagslogikregler och programregler för ett program:
'
' 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
Kontrollera användningen för hela auktoriseringsarkivet
Genom att konfigurera gränserna för auktoriseringsregeln på fliken Gränser på egenskapssidan för auktoriseringsarkivet kan du:
-
Inaktivera auktoriseringsregler och företagslogikregler för arkivet.
-
Ange ett timeout-värde som begränsar den maximala tiden som ett skript kan köras.
-
Tillåta att skript körs utan timeout.
Mer information finns i avsnittet Om arkivgränser i Auktoriseringshanteraren.
VBScript-exempel
Nedan följer ett exempel på en VBScript-auktoriseringsregel som alltid ger behörighet:
AzBizRuleContext.BusinessRuleResult = True
Mer information om VBScript finns i
JScript-exempel
Nedan följer ett exempel på en JScript-auktoriseringsregel som alltid ger behörighet:
AzBizRuleContext.BusinessRuleResult = true;
Mer information om JScript finns i