Autorisasjonsregler er skript som er skrevet i VBScript eller JScript, og som du kan inkludere i rolledefinisjoner og oppgavedefinisjoner. En autorisasjonsregel avgjør om rollen eller oppgaven tillates.
Ved å bruke autorisasjonsregler kan du basere autorisasjonsavgjørelser på en hvilken som helst betingelse som kan testes av et skript. Dette kan omfatte privilegier og tillatelser, tid på dagen, grenser for fakturerbare utgifter, saldoer eller andre kriterier.
Authorization Manager er ikke utformet for å skrive eller feilsøke autorisasjonsregler. Du kan skrive skriptene i et tekstredigeringsprogram (for eksempel Notisblokk), et integrert utviklingsmiljø som Visual Studio .NET, eller et annet program som du velger. Autorisasjonsregler skrives vanligvis av profesjonelle utviklere.
Se
Styre bruk av forretningsregler og autorisasjonsregler
Styre bruk på hver klient
Fra og med Windows Server 2008 kan bruk av forretningsregler og autorisasjonsregler styres av en registerinnstilling. Regler er deaktivert som standard. Tidligere versjoner av Windows støttet ikke denne funksjonaliteten.
Vanligvis bruker du et installasjonsprogram eller et skript som kjøres av operativsystemet, til å aktivere autorisasjonsregler og forretningsregler hvis disse brukes i miljøet.
Viktig! | |
Denne innstillingen styres individuelt for hvert Authorization Manager-program på hver klient. |
Her følger et eksempelskript som aktiverer eller deaktiverer forretningsregler og programregler for et 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
Styre bruk for hele autorisasjonslageret
Ved å konfigurere grenser for autorisasjonsregler i kategorien Grenser på egenskapsarket for autorisasjonslageret, kan du gjøre følgende:
-
Deaktivere autorisasjonsregler og forretningsregler for lageret.
-
Angi en tidsavbruddsverdi for å begrense hvor lang tid det maksimalt skal ta før et skript blir kjørt.
-
Tillate skript å kjøre uten tidsavbrudd.
Du finner mer informasjon under Lære om grenser for Authorization Manager-lagre.
VBScript-eksempel
Her følger en VBScript-autorisasjonsregel som alltid gir tillatelse:
AzBizRuleContext.BusinessRuleResult = True
Se
JScript-eksempel
Her følger en JScript-autorisasjonsregel som alltid gir tillatelse:
AzBizRuleContext.BusinessRuleResult = true;
Se