OPRAVA: Používateľom sa zobrazí výzva na overenie, keď je vlastnosť ReturnAuthRequiredIfAuthUserDenied nastavená na hodnotu True a používateľom sa zamietne prístup pomocou pravidla Všetci používatelia v prostredí Forefront Threat Management Gateway 2010
Keď Microsoft Forefront Threat Management Gateway (TMG) 2010 zamietne žiadosť o overeného používateľa, používateľovi sa zobrazí chybové hlásenie 502, ktoré používateľovi oznámi, že mu bol odmietnutý prístup. Okrem toho sa používateľovi nezobrazí výzva na zadanie alternatívnych poverení.
Vlastnosť ReturnAuthRequiredIfAuthUserDenied je možné nastaviť tak, že keď politika TMG zamietne overeného používateľa, používateľovi sa zobrazí hlásenie Vyžaduje sa overenie servera proxy 407. To umožňuje používateľovi zadať alternatívne poverenia.
Ďalšie informácie o vlastnosti ReturnAuthRequiredIfAuthUserDenied nájdete na nasledujúcej webovej lokalite siete Microsoft Developer Network (MSDN):
Vlastnosť ReturnAuthRequiredIfAuthUserDenied rozhrania IFPCWebListenerProperties Ak správca vytvorí pravidlo odmietnutia, ktoré sa vzťahuje na všetkých používateľov, a nastaví vlastnosť ReturnAuthRequiredIfAuthUserDenied na hodnotu True, používateľovi, ktorému takéto pravidlo zamietne, sa zobrazí hlásenie Vyžaduje sa overenie servera proxy 407. Toto správanie sa vyskytuje aj napriek tomu, že toto pravidlo by zakázalo všetkých používateľov. Toto správanie nemusí byť požadované a môže viesť k zbytočným výzvam na overenie.
Príznaky
Toto správanie je zámerné. Ale toto správanie nemusí byť požadované správanie, pretože všetci používatelia zamietnuť pravidlo blokuje všetkých používateľov. Okrem toho výzvy na zadanie alternatívnych poverení tento problém nevyriešia.
Príčina
Ak chcete vyriešiť tento problém, nainštalujte aktualizáciu softvéru, ktorá je popísaná v nasledujúcom článku databázy Microsoft Knowledge Base:
2517957 Software Update 1 Súhrnná aktualizácia 4 pre Forefront Threat Management Gateway (TMG) 2010 Service Pack 1Po použití tejto aktualizácie softvéru spustite skript, ktorý je uvedený v časti "Ďalšie informácie" na jednom z členov poľa TMG nastaviť SkipReauthWhenNonDefaultRule vlastnosť True.
Riešenie
Spoločnosť Microsoft potvrdila, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v časti Vzťahuje sa na.
Stav
Táto aktualizácia softvéru predstavuje novú vlastnosť SkipReauthWhenNonDefaultRule. Táto vlastnosť poskytuje nové správanie. Zvážte napríklad nasledujúce scenáre.
Scenár 1
Správca vytvorí pravidlo Všetci používatelia, ktoré zamietne prístup overeného používateľa, a vlastnosť ReturnAuthRequiredIfAuthUserDenied je nastavená na hodnotu True. V tomto scenári, ak je vlastnosť SkipReauthWhenNonDefaultRule nastavená na hodnotu True, používateľovi sa zobrazí chybové hlásenie 502 a nezobrazí sa výzva na zadanie alternatívnych poverení.
Scenár 2
Použije sa predvolené pravidlo a pravidlo požiadavku zamietne. Vlastnosť ReturnAuthRequiredIfAuthUserDenied je tiež nastavená na hodnotu True. V tomto scenári sa používateľovi podľa očakávania zobrazí hlásenie Vyžaduje sa overenie servera proxy 407. Po použití tejto aktualizácie softvéru spustite nasledujúci skript v jednom z členov poľa TMG a nastavte vlastnosť SkipReauthWhenNonDefaultRule na hodnotu True. Predvolené nastavenie vlastnosti SkipReauthWhenNonDefaultRule je False.
Poznámka: Tento skript zmení správanie iba vtedy , keď vlastnosť ReturnAuthRequiredIfAuthUserDenied je tiež nastavená na hodnotu 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
Poznámka: Ak sa chcete vrátiť k predvolenému správaniu, postupujte takto:
V skripte vyhľadajte nasledujúci riadok:
Const SE_VPS_VALUE = trueZmeňte riadok v skripte na nasledujúci:
Const SE_VPS_VALUE = falseUložte skript a znova spustite tento skript na jednom z členov TMG Array.
Ďalšie informácie
Ďalšie informácie o terminológii aktualizácie softvéru zobrazíte kliknutím na číslo nasledujúceho článku v databáze Microsoft Knowledge Base:
824684 Popis štandardnej terminológie, ktorá sa používa na popis aktualizácií softvéru spoločnosti Microsoft