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