Klaidos pranešimas, kai vartotojas pasiekia SharePoint svetainės, kuri publikuojama ISA Server 2006 "arba" Windows Essential Business Server 2008: "HTTP 401 neteisėto"

Simptomai

Kai vartotojas prisijungia prie SharePoint svetainės, kuri publikuojama "Microsoft Internet Security and Acceleration (ISA) Server 2006", "ISA Server 2006 SP1 arba" Windows Essential Business Server 2008, vartotojas gali gauti vieną iš šių klaidos pranešimų:klaidos pranešimo 1

HTTP 401 Neleistina

2 klaidos pranešimas

HTTP 500 serverio uždrausta nurodytą globalų išteklių lokatorių (URL). Kreipkitės į serverio administratorių.

Ši problema iškyla esant šioms sąlygoms:

  • Į žiniatinklio imtuve, kuri naudoja SharePoint žiniatinklio publikavimo taisyklę, HTML formų autentifikavimas konfigūruojamas.

  • Žiniatinklio kliento kompiuteris siunčia POST užklausą į SharePoint svetainę.

  • URL POST užklausą yra išplėstinius simbolius. Pvz., URL yra é, à arba è.

Priežastis

Ši problema kyla dėl to, kad ISA serverio arba Windows Essential Business Server 2008 nepavyksta išanalizuoti URL, kuriame yra išplėstinius simbolius. Tokiu atveju ISA serverio arba Windows Essential Business Server 2008 atmeta, kliento kompiuteris siunčia POST užklausą.

Sprendimas

Norėdami išspręsti šią problemą, atlikite šiuos veiksmus:

  1. Taikyti šias karštąsias pataisas, aprašytas Microsoft žinių bazės straipsnyje 940250. Jei norite gauti daugiau informacijos, spustelėkite toliau straipsnio numerį ir peržiūrėkite straipsnį Microsoft žinių bazėje:

    940250 ISA Server 2006 karštųjų pataisų paketo aprašas: 2007 m. liepos 16 d.

  2. Nukopijuokite šį scenarijų į užrašinę:Pastaba Norėdami išspręsti šią problemą, ISA Server 2006, naudokite šį scenarijų. Jūs neturite taikyti šias karštąsias pataisas šiame straipsnyje ISA Server 2006 SP1, bet jūs turite naudoti scenarijų.

    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. Įrašykite failą kaip Microsoft Visual Basic scenarijų failą naudojant .vbs failo vardo plėtinį. Pavyzdžiui, įrašykite failą naudodami šį pavadinimą:

    EnableKB940248.vbs

  4. Į komandų eilutę, perkelti į vietą, kur įrašėte failą EnableKB940248.vbs.

  5. Vykdykite šią komandą:

    Cscript EnableKB940248.vbs

Pastaba. Atlikę šiuos veiksmus, tik užklausos dalį URL gali būti išplėstinius simbolius. Užklausos dalį matyti klaustukas (?) URL. Dalis, kuris pasirodo prieš klaustukas URL negali būti išplėstinius simbolius, net panaudojus šį sprendimą. Jei norite pašalinti keitimus, kurie atliekami vykdant scenarijų atliekant 5 veiksmą, paleiskite šį scenarijų:

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

Būsena

„Microsoft“ patvirtino, kad tai yra „Microsoft“ produktų, išvardytų skyriuje „Taikoma“, problema.

Reikia daugiau pagalbos?

Tobulinkite savo įgūdžius
Ieškoti mokymo
Pirmiausia gaukite naujų funkcijų
Prisijungti prie "Microsoft Insider"

Ar ši informacija buvo naudinga?

Dėkojame už jūsų atsiliepimus!

Dėkojame už jūsų atsiliepimą! Panašu, kad gali būti naudinga jus sujungti su vienu iš mūsų „Office“ palaikymo agentų.

×