Salt la conținutul principal
Asistență
Conectare

Mesaj de eroare atunci când un utilizator accesează un site SharePoint Web care este publicat în ISA Server 2006 sau în Windows Essential Business Server 2008: "HTTP 401 neautorizat"

Simptome

Când un utilizator accesează un site SharePoint Web care este publicat în Microsoft Internet Security and Acceleration (ISA) Server 2006, ISA Server 2006 SP1 sau Windows Essential Business Server 2008, este posibil să primească unul dintre următoarele mesaje de eroare:eroare mesajul 1

HTTP 401 Unauthorized

Mesaj de eroare 2

HTTP 500 server refuzat specificat Uniform Resource Locator (URL). Contactați administratorul serverului.

Această problemă apare atunci când se îndeplinesc următoarele condiții:

  • În listenerul Web care utilizează regula de publicare SharePoint Web, autentificare formular HTML este configurat.

  • Web client trimite o solicitare POST site-ul SharePoint.

  • Adresa URL a solicitarea POST conține caractere extinse. De exemplu, URL-ul conține é, à sau è.

Cauză

Această problemă apare deoarece ISA Server sau Windows Essential Business Server 2008 nu poate analiza un URL care conține caractere extinse. În acest caz, ISA Server sau Windows Essential Business Server 2008 respinge solicitarea POST care clientul trimite.

Rezolvare

Pentru a rezolva această problemă, urmați acești pași:

  1. Aplicați remedierea rapidă descrisă în articolul din baza de cunoștințe Microsoft 940250. Pentru mai multe informații, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:

    940250 Descrierea pachetului de remediere rapidă ISA Server 2006: 16 iulie 2007

  2. Copiați următorul script în Notepad:Notă pentru a rezolva această problemă în ISA Server 2006, utilizați următorul script. Nu trebuie să aplicați remedierea rapidă din acest articol pentru ISA Server 2006 SP1, dar trebuie să utilizaţi scriptul.

    Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"Const SE_VPS_NAME = "CookieFilterDecodeUEncoding"Const SE_VPS_VALUE = trueSub 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 IfEnd SubSub CheckError()    If Err.Number <> 0 Then        WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description        Err.Clear    End IfEnd SubSetValue
  3. Salvați fișierul ca fișier script Microsoft Visual Basic, utilizând extensia numelui de fișier .vbs. De exemplu, Salvați fișierul utilizând următorul nume:

    EnableKB940248.vbs

  4. La promptul de comandă, mutați în locația unde ați salvat fișierul EnableKB940248.vbs.

  5. Executaţi următoarea comandă:

    cscript EnableKB940248.vbs

Notă După ce urmați acești pași, numai partea de interogare URL-ul poate conține caractere extinse. Partea de interogare urmează semn de întrebare (?) în URL-ul. Partea care precede semn de întrebare în URL-ul nu poate conține caractere extinse, chiar și după ce utilizați această rezolvare. Dacă doriți să eliminați modificările efectuate atunci când se execută scriptul din pasul 5, executați următorul script:

Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"Const SE_VPS_NAME = "CookieFilterDecodeUEncoding"Const SE_VPS_VALUE = FalseSub SetValue()' Create the root object.Dim root ' The FPCLib.FPC root objectroot = CreateObject("FPC.Root")'Declare the other objects that are needed.Dim array ' An FPCArray objectDim VendorSets ' An FPCVendorParametersSets collectionDim VendorSet ' An FPCVendorParametersSet object' Get references to the array object' and to the network rules collection.array = root.GetContainingArrayVendorSets = array.VendorParametersSetsOn Error Resume NextVendorSet = VendorSets.Item(SE_VPS_GUID)If Err.Number <> 0 ThenErr.Clear()' Add the itemVendorSet = VendorSets.Add(SE_VPS_GUID)CheckError()WScript.Echo("New VendorSet added... " & VendorSet.Name)ElseWScript.Echo("Existing VendorSet found... value- " & VendorSet.Value(SE_VPS_NAME))End IfIf VendorSet.Value(SE_VPS_NAME) <> SE_VPS_VALUE ThenErr.Clear()VendorSet.Value(SE_VPS_NAME) = SE_VPS_VALUEIf Err.Number <> 0 ThenCheckError()ElseVendorSets.Save(False, True)CheckError()If Err.Number = 0 ThenWScript.Echo("Done with " & SE_VPS_NAME & ", saved!")End IfEnd IfElseWScript.Echo("Done with " & SE_VPS_NAME & ", no change!")End IfEnd SubSub CheckError()If Err.Number <> 0 ThenWScript.Echo("An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description)Err.Clear()End IfEnd SubSetValue Change to:[INSERT CORRECTION]Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"Const SE_VPS_NAME = "CookieFilterDecodeUEncoding"Const SE_VPS_VALUE = falseSub SetValue()' Create the root object.Dim root ' The FPCLib.FPC root objectSet root = CreateObject("FPC.Root")'Declare the other objects that are needed.Dim array ' An FPCArray objectDim VendorSets ' An FPCVendorParametersSets collectionDim VendorSet ' An FPCVendorParametersSet object' Get references to the array object' and to the network rules collection.Set array = root.GetContainingArraySet VendorSets = array.VendorParametersSetsOn Error Resume NextSet VendorSet = VendorSets.Item( SE_VPS_GUID )If Err.Number <> 0 ThenErr.Clear' Add the itemSet VendorSet = VendorSets.Add( SE_VPS_GUID )CheckErrorWScript.Echo "New VendorSet added... " & VendorSet.NameElseWScript.Echo "Existing VendorSet found... value- " & VendorSet.Value(SE_VPS_NAME)End Ifif VendorSet.Value(SE_VPS_NAME) <> SE_VPS_VALUE ThenErr.ClearVendorSet.Value(SE_VPS_NAME) = SE_VPS_VALUEIf Err.Number <> 0 ThenCheckErrorElseVendorSets.Save false, trueCheckErrorIf Err.Number = 0 ThenWScript.Echo "Done with " & SE_VPS_NAME & ", saved!"End IfEnd IfElseWScript.Echo "Done with " & SE_VPS_NAME & ", no change!"End IfEnd SubSub CheckError()If Err.Number <> 0 ThenWScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.DescriptionErr.ClearEnd IfEnd SubSetValue

Stare

Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.

Aveți nevoie de ajutor suplimentar?

Extindeți-vă competențele
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă la Microsoft Insider

V-a fost de ajutor această informație?

Vă mulțumim pentru feedback!

Vă mulțumim pentru feedback! Se pare că ar fi util să luați legătura cu unul dintre agenții noștri de asistență Office.

×