POST-Anforderungen, die einen POST-Nachrichtentext nicht verfügen möglicherweise an einen Webserver gesendet, die in ISA Server 2006 veröffentlicht ist

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 942638 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Problembeschreibung

Stellen Sie sich das folgende Szenario vor:
  • In Microsoft Internet Security and Acceleration (ISA) Server 2006 veröffentlichen einen Server.
  • Der ISA Server-Listener ist mit Windows integrierte NTLM-Authentifizierung konfiguriert.
  • Ein Benutzer verwendet Windows Internet Explorer Zugriff auf den Webserver.
In diesem Szenario können keinen POST-Nachrichtentext POST-Anforderungen an den veröffentlichten Webserver gesendet werden. Dieses Problem möglicherweise unerwartete Web Access verursachen.

Ursache

Wenn Internet Explorer eine POST-Anforderung zu einer Website, die NTLM-Authentifizierung verwendet sendet, reauthenticates Internet Explorer, mit dem Webserver für jede POST-Anforderung. Der POST-Nachrichtentext wird nicht in der ersten Authentifizierung Handshake an den Webserver gesendet.

Verwendet wenn Internet Explorer eine POST-Anforderung, die erneute Authentifizierung für eine TCP-Verbindung erfordert, der bereits authentifiziert wurde sendet, weiterhin ISA Server den aktuellen Kontext Authentifizierung statt erneute Authentifizierung des Clients. In diesem Fall wird die POST-Anforderung, die keinen POST-Nachrichtentext an den veröffentlichten Webserver gesendet.

Lösung

Gehen Sie folgendermaßen vor, um dieses Problem zu beheben:
  1. Anwenden der in der folgenden Microsoft Knowledge Base beschriebene Hotfix-Paket:
    942639Beschreibung des Hotfix-Pakets von ISA Server 2006: 24 September 2007
  2. Starten Sie den Editor.
  3. Kopieren Sie folgenden Code und fügen Sie ihn in Editor.

    Microsoft bietet Programmierbeispiele für Abbildung nur ohne Gewährleistung oder konkludent. Dies umfasst, ist jedoch nicht beschränkt auf konkludenten Garantien der Handelsüblichkeit oder Eignung für einen bestimmten Zweck. Dieser Artikel setzt voraus, dass Sie mit der Programmiersprache, die Programmierungsbeispiele ist und mit den Tools, die zum Erstellen und Debuggen von Prozeduren verwendet werden vertraut sind. Microsoft Support-Technikern helfen, Erläutern Sie die Funktionalität von einer bestimmten Prozedur. Jedoch können Sie nicht ändern diese Beispiele bieten Funktionen hinzugefügt oder Verfahren, um Ihren Anforderungen entsprechend zu erstellen.
    Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"
    Const SE_VPS_NAME = "EnablePOSTReauthentication"
    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 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
    
  4. Speichern der Datei als eine Microsoft Visual Basic-Skriptdatei mit die Dateinamenerweiterung .vbs. Beispielsweise verwenden Sie den folgenden Namen, um die Datei zu speichern:
    EnablePOSTReauthentication.vbs
  5. Starten Sie eine Eingabeaufforderung, ändern Sie zum Speicherort, an dem Sie die EnablePOSTReauthentication.vbs-Datei gespeichert, und führen Sie folgenden Befehl:
    Cscript EnablePOSTReauthentication.vbs
Hinweis: Die Standardeinstellung wiederherstellen möchten, bearbeiten Sie das Skript durch Ändern "const SE_VPS_VALUE = True"in"const SE_VPS_VALUE = False." Speichern Sie das Skript, und führen Sie es erneut.

Status

Microsoft hat bestätigt, dass dies ein Problem in Microsoft-Produkten handelt, die im Abschnitt "Gilt für" aufgeführt sind.

Eigenschaften

Artikel-ID: 942638 - Geändert am: Freitag, 19. Oktober 2007 - Version: 1.1
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Internet Security and Acceleration Server 2006 Enterprise Edition
  • Microsoft Internet Security and Acceleration Server 2006 Standard Edition
Keywords: 
kbmt kbqfe kbexpertiseinter KB942638 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 942638
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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