Příznaky
Jde o takovouto situaci:
-
Publikování na webu Microsoft SharePoint pomocí pravidla pro publikování v Microsoft Forefront Threat Management brány (TMG) 2010.
-
Pravidlo pro publikování pomocí protokolu Kerberos vynucené delegování (KCD).
-
Služba naslouchání na webu pro web používá ověřování systému Windows nebo ověřování na základě formulářů (FBA).
-
Uživatel přihlásí k webu služby SharePoint.
V tomto scénáři nefunguje Přihlásit jako jiný uživatel součást na webu služby SharePoint.
Příčina
K tomuto problému dochází z důvodu kódu chyby.
Řešení
Informace o aktualizaci
Aktualizace softwaru, který je nutný k vyřešení tohoto problému je popsána v následujícím článku znalostní báze Microsoft Knowledge Base (KB):
Kumulativní aktualizace 1 software 2498770 3 pro Forefront Threat Management brány (TMG) 2010 Service Pack 1 Chcete-li tento problém vyřešit, použití této aktualizace a poté spusťte následující skript na libovolného člena pole. Poznámka: Tento skript umožňuje publikování serveru SharePoint (SPS), který používá ověřování a FBA delegování, který používá KCD. Pokud chcete povolit publikování SPS, který používá integrované ověřování a pokud chcete, aby delegování ověřování pomocí KCD, spusťte tento skript. Potom spusťte další skript, který následuje:Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"Const SE_VPS_NAME = "EnableSharepointSignIn" Const SE_VPS_VALUE = true Sub SetValue() ' Create the root object. Dim root ' The FPCLib.FPC root object Set root = CreateObject("FPC.Root") 'Declare the other objects that are needed. Dim array ' An FPCArray object Dim VendorSets ' An FPCVendorParametersSets collection Dim VendorSet ' An FPCVendorParametersSet object ' Get references to the array object ' and to 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 Pokud chcete povolit publikování SPS, který používá integrované ověřování a pokud chcete, aby delegování ověřování pomocí KCD, také spusťte následující skript:Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"Const SE_VPS_NAME = "UseOnlyNTLMForWindowsAuth" Const SE_VPS_VALUE = 1 Sub SetValue() ' Create the root object. Dim root ' The FPCLib.FPC root object Set root = CreateObject("FPC.Root") 'Declare the other objects that are needed. Dim array ' An FPCArray object Dim VendorSets ' An FPCVendorParametersSets collection Dim VendorSet ' An FPCVendorParametersSet object ' Get references to the array object ' and to 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
Stav
Společnost Microsoft potvrdila, že se jedná o problém v produktech společnosti Microsoft, které jsou uvedeny v části "Platí pro".
Další informace
Pro další informace o terminologii používané v aktualizacích softwaru, klepněte na následující číslo článku k zobrazení článku v databázi Microsoft Knowledge Base:
824684 Popis standardní terminologie používané při popisu aktualizací softwaru společnosti Microsoft