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:

  1. V skriptu poiščite to vrstico:

    Const SE_VPS_VALUE = true
    
  2. Spremenite vrstico v skriptu v:

    Const SE_VPS_VALUE = false
    
  3. Shranite 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

Sklici