Pedidos de HTTP procurar não tem um corpo de procurar podem ser enviados para um servidor Web que está publicado no ISA Server 2006

Artigo: 945882 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Sintomas

Considere o seguinte cenário:
  • Publicar um servidor Web no Microsoft Internet Security and Acceleration (ISA) Server 2006.
  • A escuta da Web do ISA Server estiver configurada para utilizar a autenticação de HTTP e para validar as credenciais de utilizador utilizando a opção de autenticação integrada do Windows (Active Directory) .
  • Um utilizador utiliza o Windows Internet Explorer para aceder ao servidor Web.
Neste cenário, pedidos de HTTP procurar não tem um corpo de procurar podem ser enviados para o servidor Web é publicado. Este problema poderá provocar o comportamento inesperado do acesso à Web. Por exemplo, se publicar o Microsoft Office Outlook Web Access no ISA Server 2006, poderá ver que a pasta a receber não é apresentada correctamente.

Causa

Internet Explorer pode enviar um pedido de HTTP procurar que não tem um corpo HTTP na primeira parte do handshake de autenticação NTLM. Se esse pedido específico é enviado na ligação de TCP que já tenha sido autenticada pelo ISA Server, ISA Server continua a utilizar o contexto de autenticação actual em vez de reauthenticating o cliente. Nesta situação, o pedido SEARCH não tem um corpo de procurar é enviado para o servidor Web publicado.

Resolução

Para resolver este problema, siga estes passos:
  1. Aplicar o pacote de correcção que é descrito no artigo seguinte da base de dados de conhecimento da Microsoft:
    945821Descrição do pacote correcção do ISA Server 2006: 5 de Dezembro de 2007
  2. Inicie o bloco de notas.
  3. Copie o seguinte código e cole-o no bloco de notas.
    Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"
    Const SE_VPS_NAME = "EnablePOSTReauthentication"
    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
    
    A Microsoft fornece exemplos de programação apenas, para fins sem garantia expressa ou implícita. Isto inclui, mas não está limitado a, as garantias implícitas de comercialização ou adequação a um fim específico. Este artigo pressupõe que está familiarizado com a linguagem de programação apresentada e as ferramentas que são utilizadas para criar e depurar procedimentos. Os técnicos de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento. No entanto, não modificarão estes exemplos para proporcionarem funcionalidades adicionais nem criarão procedimentos adaptados às necessidades específicas do utilizador.
  4. Guarde o ficheiro como um ficheiro de script do Microsoft Visual Basic. Para o fazer, utilize a extensão de nome de ficheiro .vbs quando guarda o ficheiro. Por exemplo, utilize o seguinte nome para guardar o ficheiro:
    EnableSEARCHReauthentication.vbs
  5. Inicie uma linha de comandos, mude para onde guardou o ficheiro EnableSEARCHReauthentication.vbs e, em seguida, execute o seguinte comando:
    cscript EnableSEARCHReauthentication.vbs
Nota Para reverter para a definição predefinida, edite o script alterando "Const SE_VPS_VALUE = true"para"Const SE_VPS_VALUE = false." Guardar o script e, em seguida, executá-la novamente.

Mais Informação

Esta correcção substitui a correcção descrita no seguinte artigo da base de dados de conhecimento da Microsoft:
942638Pedidos POST que não têm um corpo POST podem ser enviados para um servidor Web que está publicado no ISA Server 2006
A correcção 942638 só se aplica a pedidos de HTTP POST. No entanto, esta correcção de nova se aplica a todos os métodos HTTP, excepto para o método GET.

Este artigo descreve um problema que poderá ocorrer com pedidos de HTTP procurar. O problema actual ocorre normalmente quando publica o Outlook Web Access no ISA Server. No entanto, esta correcção também poderá resolver problemas semelhantes para outros métodos HTTP que podem incluir um corpo HTTP, excepto para o método GET.

Referências

Para obter mais informações sobre a terminologia de actualização de software, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
824684Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

Propriedades

Artigo: 945882 - Última revisão: sexta-feira, 4 de Janeiro de 2008 - Revisão: 1.1
A informação contida neste artigo aplica-se a:
  • Microsoft Internet Security and Acceleration Server 2006 Standard Edition
  • Microsoft Internet Security and Acceleration Server 2006 Enterprise Edition
Palavras-chave: 
kbmt kbexpertiseinter kbqfe KB945882 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 945882

Submeter comentários