Összefoglalás
Az (MS11-100 jelű biztonsági közleményben leírt) 2638420. számú biztonsági frissítés telepítése után az ASP.NET másképpen hozza létre az űrlap-hitelesítő jegyeket. Az új működés nem kompatibilis a korábbival. Az új működés használatával előállított jegyeket a régi működésű kiszolgálók nem tudják olvasni, és fordítva. Ezért űrlap-hitelesítést használó alkalmazások használata esetén a 2638420. számú biztonsági frissítés telepítésekor ügyelnie kell arra, hogy minden kiszolgáló egyszerre váltson az új működésre.
Telepítési útmutatás
A jegyek működésének változása miatt azoknak a rendszergazdáknak, akiknek az alkalmazásai űrlap-hitelesítést használnak, a 2638420. számú biztonsági frissítés telepítésekor ügyelniük kell arra, hogy minden kiszolgáló egyszerre váltson az új működésre.
Annak meghatározásához, hogy az alkalmazása űrlap-hitelesítést használ-e, vizsgálja meg a System.web fájlt. Az űrlap-hitelesítést használó alkalmazások System.web fájljában a következő bejegyzés található:
<authentication mode="Forms">Megjegyzések
-
A hitelesítés alapértelmezett módja: „Windows”.
-
Az ASP.NET csak akkor alkalmaz űrlap-hitelesítést, ha kifejezetten erre van beállítva.
Űrlap-hitelesítést használó alkalmazások használata esetén a 2638420. számú biztonsági frissítést a következő módszerek egyikével kell telepítenie annak érdekében, hogy biztosítsa a webhelyei megfelelő működését.
1. módszer
Az ASP.NET webfarmja minden aktív kiszolgálójára egyszerre telepítse a 2638420. számú biztonsági frissítést. Ehhez hajtsa végre a következő lépéseket:
-
Távolítsa el a webfarm kiszolgálóinak felét a terheléselosztó listájából.
-
Telepítse a frissítést ezeken a kiszolgálókon.
-
Újra adja hozzá a kiszolgálókat a listához, miközben a fennmaradó kiszolgálókat offline állapotúra állítja a frissítéshez.
2. módszer
Ha nem tudja egyidejűleg telepíteni a 2638420. számú biztonsági frissítést a webfarmja összes kiszolgálójára, akkor használja helyette ezt a módszert.
Megjegyzés Ennek a módszernek a használata nem ajánlott. A kapcsoló beállítása esetén telepítheti a biztonsági frissítést a webfarm egyes kiszolgálóin, amelyek ezután a régi működéssel üzemelhetnek tovább. A konfigurációs kapcsolót használó kiszolgálók azonban nem biztonságos állapotban vannak, és a biztonsági frissítés nem minden előnye érvényes rájuk. A konfigurációs kapcsolót ezért el kell távolítani az új, biztonságos működés érdekében, amint a webfarm minden kiszolgálójára telepítette a 2638420. számú biztonsági frissítést.
A 2638420. számú biztonsági frissítés telepítése előtt állítson be egy kompatibilitási kapcsolót a Web.config vagy a Machine.config fájlban, hogy a frissítés telepítése után kényszerítse a régi működést. Ehhez hajtsa végre a következő lépéseket:
-
Nyissa meg a Web.config file vagy a Machine.config fájlt egy szövegszerkesztőben (például a Jegyzettömb programban).
-
Adja hozzá a fájlhoz a következő szöveget, majd mentse a fájlt:
<appSettings>
<add key="aspnet:UseLegacyFormsAuthenticationTicketCompatibility" value="true" />
</appSettings>A számítógépet és a szolgáltatásokat nem kell újraindítania, miután frissíti és menti a Web.config vagy Machine.config fájlt. A konfiguráció változásáról szóló értesítés automatikusan végighalad az alkalmazáskészleten.
A Web.config fájlok a következő helyeken találhatók:
A .NET-keretrendszer 4.0-s verziójától a 4.5-ös verzióig
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Web.config
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\Web.config A .NET-keretrendszer 2.0-s verziójától a 3.5 SP1-es verzióig
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\Web.config
C:\Windows\Microsoft.NET\Framework64\v2.0.50727\CONFIG\Web.config A 32 bites számítógépeken csak a Framework mappa található meg. A 64 bites számítógépeken a Framework és a Framework64 mappa is megtalálható. Ezért ha 32 bites és 64 bites alkalmazáskészletekben CLR 2 és CLR 4 alkalmazásokat vegyesen futtat, akkor a bejegyzést mind a négy fájlhoz hozzá kell adnia.
Ha hozzáadja az <appSettings> bejegyzést ezekhez a konfigurációs fájlokhoz, akkor a módosítás az egész rendszerben érvényes lesz.
Ismert problémák
-
A 2638420. számú biztonsági frissítés telepítését követően sikertelen a jegyek visszafejtése
A jegyek új működésének engedélyezése után a régi működéssel előállított összes hitelesítési jegy érvénytelenné válik. Ha ez a hiba jelentkezik, a végfelhasználókat kilépteti a rendszer, és a kiszolgálók rendszergazdái jegyvisszafejtési hibákat tapasztalnak.
Emellett a rendszer a következő hibaüzenetet rögzíti az Eseménynaplóban:Napló neve: Alkalmazás
Eseményazonosító: 1315
Eseménykód: 4005
Eseményüzenet: Nem sikerült az űrlap hitelesítése a kérelemhez. Ok: A megadott jegy érvénytelen volt.
Ezek a hibák váratlan következményekhez vezethetnek. Például „HTTP 401” vagy „HTTP 302” hibák fordulhatnak elő, ha a weboldalakat egy <authorization> elem védi.
A 2638420. számú biztonsági frissítés telepítése után a rendszergazdák több ilyen jegyvisszafejtési hibára számíthatnak, mert a korábban előállított jegyek lejárnak. A hibák száma és gyakorisága az új jegyek előállítása miatt idővel csökken. Ha a visszafejtési hibák a biztonsági frissítés telepítése után hosszabb ideig folytatódnak, az azt jelezheti, hogy a webfarm egyes kiszolgálói továbbra is a régi jegyműködést használják. A hiba előfordulhat például, ha a következők bármelyike igaz:-
Egy vagy több kiszolgáló nincs frissítve a 2638420. biztonsági frissítéssel.
-
Egy vagy több kiszolgálón be van állítva az említett kompatibilitási kapcsoló. A kompatibilitási kapcsoló leírása a jelen cikk korábbi részén található.
-
További információ
A TicketCompatibilityMode konfigurációs kapcsoló használata már nem támogatott
Mivel a 2638420. számú biztonsági frissítés módosítja az űrlap-hitelesítő jegyek formátumát, a 2638420. számú biztonsági frissítés telepítése és engedélyezése után a <forms/ticketCompatibilityMode> konfigurációs kapcsoló használata már nem támogatott.
A <forms/ticketCompatibilityMode> konfigurációs kapcsolóval kapcsolatosan további tudnivalókat a következő MSDN-webhelyen talál: