Componente "Entrar como outro usuário" não funciona em um site do SharePoint é publicado pelo Forefront TMG 2010

Traduções deste artigo Traduções deste artigo
ID do artigo: 2445386 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Considere o seguinte cenário:
  • Publicar um site do Microsoft SharePoint, usando uma regra de publicação no Microsoft Forefront Threat Management Gateway (TMG) 2010.
  • A regra de publicação usa o KCD (delegação de restrita de Kerberos).
  • O ouvinte da web para o site usa autenticação do Windows ou a autenticação baseada em formulários (FBA).
  • Um usuário faz logon no site do SharePoint.

Nesse cenário, oEntrar como outro usuáriocomponente não funciona no site do SharePoint.

Causa

Esse problema ocorre devido um bug no código.

Resolução

Atualizar informações

A atualização de software é necessária para resolver esse problema é descrita no seguinte artigo do Microsoft Knowledge Base (KB):
2498770Software 1 Update rollup 3 para o Service Pack 1 do Forefront Threat Management Gateway (TMG) 2010

Para resolver esse problema, aplicar essa atualização e, em seguida, execute o seguinte script em qualquer membro da matriz.

ObservaçãoEste script permite a publicação do SharePoint Server (SPS) que usa a delegação de autenticação e FBA que usa o KCD. Se você desejar habilitar a publicação do SPS que usa autenticação integrada e se você quiser que a delegação de autenticação para usar o KCD, execute este script. Em seguida, execute o script adicional que segue imediatamente:
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   
Se você desejar habilitar a publicação do SPS que usa autenticação integrada e se você quiser que a delegação de autenticação para usar o KCD, também execute o script a seguir:
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

Situação

A Microsoft confirmou que se trata de um problema nos produtos da Microsoft listados na seção "Aplica-se a".

Mais Informações

Para obter mais informações sobre a terminologia de atualização de software, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
824684Descrição da terminologia padrão usada para descrever as atualizações de software da Microsoft

Propriedades

ID do artigo: 2445386 - Última revisão: sexta-feira, 25 de março de 2011 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft Forefront Threat Management Gateway 2010 Enterprise
  • Microsoft Forefront Threat Management Gateway 2010 Service Pack 1
  • Microsoft Forefront Threat Management Gateway 2010 Standard
Palavras-chave: 
kbqfe kbfix kbsurveynew kbexpertiseinter kbmt KB2445386 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 2445386

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com