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:

  1. V skripte vyhľadajte nasledujúci riadok:

    Const SE_VPS_VALUE = true
    
  2. Zmeňte riadok v skripte na nasledujúci:

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

Odkazy