POPRAVEK: Uporabniki so pozvani k pristnosti, ko je lastnost ReturnAuthRequiredIfAuthUserDenied nastavljena na True, uporabnikom pa pravilo »Vsi uporabniki« v okolju forefront Threat Management Gateway 2010 zavrne dostop
Ko Microsoft Forefront Threat Management Gateway (TMG) 2010 zavrne zahtevo za uporabnika s preverjeno pristnostjo, uporabnik prejme sporočilo o napaki »502«, s katerim obvesti uporabnika, da mu je zavrnjen dostop. Poleg tega uporabnik ni pozvan k vnosu nadomestnih poverilnic.
Lastnost ReturnAuthRequiredIfAuthUserDenied je mogoče nastaviti tako, da uporabnik prejme sporočilo »Zahtevano je preverjanje pristnosti proxyja 407«, ko pravilnik TMG zavrne preverjenega uporabnika. To uporabniku omogoča, da vnesete nadomestne poverilnice.
Če želite več informacij o lastnosti ReturnAuthRequiredIfAuthUserDenied , obiščite to spletno mesto Microsoft Developer Network (MSDN):
Lastnost ReturnAuthRequiredIfAuthUserDenied vmesnika IFPCWebListenerProperties Če skrbnik ustvari pravilo za zavrnitev, ki velja za vse uporabnike in nastavi lastnost ReturnAuthRequiredIfAuthUserDenied na True, uporabnik, ki je zavrnjen s tem pravilom, prejme sporočilo »Zahtevano je preverjanje pristnosti proxyja 407«. To vedenje se zgodi, čeprav bi bilo to pravilo zavrnjeno za vse uporabnike. To delovanje morda ne bo zaželeno in lahko vodi do nepotrebnih pozivov za preverjanje pristnosti.
Znaki
To delovanje je privzeto. Vendar to vedenje morda ne bo želeno vedenje, ker vsi uporabniki zanikajo pravilo blokira vse uporabnike. Poleg tega pozivi za nadomestne poverilnice ne odpravijo te težave.
Vzrok
Če želite odpraviti to težavo, namestite posodobitev programske opreme, ki je opisana v tem članku iz Microsoftove zbirke znanja:
2517957 Software Update 1 Rollup 4 for Forefront Threat Management Gateway (TMG) 2010 Service Pack 1Po tem, ko uporabite to posodobitev programske opreme, zaženite skript, ki je na voljo v razdelku »Več informacij« na enem od članov matrike TMG, da nastavite lastnost SkipReauthWhenNonDefaultRule na True.
Rešitev
Microsoft je potrdil, da gre za težavo v Microsoftovih izdelkih, ki so navedeni v razdelku »Velja za«.
Stanje
Ta posodobitev programske opreme uvaja novo lastnost, SkipReauthWhenNonDefaultRule. Ta lastnost omogoča novo vedenje. Oglejte si na primer te scenarije.
1. primer
Skrbnik ustvari pravilo »Vsi uporabniki«, ki zanika dostop za uporabnika s preverjeno pristnostjo, lastnost ReturnAuthRequiredIfAuthUserDenied pa je nastavljena na True. Če je v tem primeru lastnost SkipReauthWhenNonDefaultRule nastavljena na True, uporabnik prejme sporočilo o napaki »502« in ni pozvan k vnosu nadomestnih poverilnic.
2. primer
Privzeto pravilo je uporabljeno, pravilo pa zavrne zahtevo. Poleg tega je lastnost ReturnAuthRequiredIfAuthUserDenied nastavljena na True. V tem primeru uporabnik prejme sporočilo »Zahtevano je preverjanje pristnosti proxyja 407« v skladu s pričakovanji. Ko uporabite to posodobitev programske opreme, zaženite ta skript v enem od članov matrike TMG, da nastavite lastnost SkipReauthWhenNonDefaultRule na True. Privzeta nastavitev za lastnost SkipReauthWhenNonDefaultRule je False.
Opomba Ta skript spremeni vedenje le, če je lastnost ReturnAuthRequiredIfAuthUserDenied prav tako nastavljena na True.
Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"
Const SE_VPS_NAME = "SkipReauthWhenNonDefaultRule"
Const SE_VPS_VALUE = true
Sub SetValue()
' Create the root obect.
Dim root ' The FPCLib.FPC root object
Set root = CreateObject("FPC.Root")
'Declare the other objects needed.
Dim array ' An FPCArray object
Dim VendorSets ' An FPCVendorParametersSets collection
Dim VendorSet ' An FPCVendorParametersSet object
' Get references to the array object
' and the network rules collection.
Set array = root.GetContainingArray
Set VendorSets = array.VendorParametersSets
On Error Resume Next
Set VendorSet = VendorSets.Item( SE_VPS_GUID )
If Err.Number <> 0 Then
Err.Clear
' Add the item
Set VendorSet = VendorSets.Add( SE_VPS_GUID )
CheckError
WScript.Echo "New VendorSet added... " & VendorSet.Name
Else
WScript.Echo "Existing VendorSet found... value- " & VendorSet.Value(SE_VPS_NAME)
End If
if VendorSet.Value(SE_VPS_NAME) <> SE_VPS_VALUE Then
Err.Clear
VendorSet.Value(SE_VPS_NAME) = SE_VPS_VALUE
If Err.Number <> 0 Then
CheckError
Else
VendorSets.Save false, true
CheckError
If Err.Number = 0 Then
WScript.Echo "Done with " & SE_VPS_NAME & ", saved!"
End If
End If
Else
WScript.Echo "Done with " & SE_VPS_NAME & ", no change!"
End If
End Sub
Sub CheckError()
If Err.Number <> 0 Then
WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description
Err.Clear
End If
End Sub
SetValue
Opomba Če želite povrniti privzeto vedenje, sledite tem korakom:
V skriptu poiščite to vrstico:
Const SE_VPS_VALUE = trueSpremenite vrstico v skriptu v:
Const SE_VPS_VALUE = falseShranite skript in znova zaženite skript na enega od članov funkcije TMG Array.
Več informacij
Če želite več informacij o terminologiji za posodabljanje programske opreme, kliknite to številko članka iz Microsoftove zbirke znanja:
824684 Opis standardne terminologije, ki se uporablja za opisovanje posodobitev Microsoftove programske opreme