Principy lístek ověřování pomocí formulářů a souborů Cookie


Sloupec hlasové podpory technologie ASP.NET


Principy lístek ověřování pomocí formulářů a souborů Cookie

Chcete-li upravit tento sloupec vašim potřebám, chceme pozvat sdělit své nápady o tématech, které zajímají je a problémy, které chcete zobrazit adresovány v budoucnu články znalostní báze a podpora hlasové sloupce. Můžete odeslat nápady a názor pomocí formuláře Požádat pro něj . Je také odkaz na formulář v dolní části tohoto sloupce.

Úvod

Vítejte na Microsoft ASP.NET podpora hlasové sloupce. Jsem s týmem podpory technologie ASP.NET developer Nilay B. Shah. I mít byla práce s ASP.NET podporu pro více než jeden a půl roku. Ověřování pomocí formulářů je opravdu bezva ověření funkce. Tento článek popisuje některé problémy, které uživatelé našli matoucí s ověřováním pomocí formulářů, jako je například vztah lístek ověřování pomocí formulářů a formulářů ověřovací soubor cookie a jejich příslušné nastavení. Chtěl bych Děkujeme Jerry Orman, technický vedoucí týmu podpory technologie ASP.NET, pro jeho neuvěřitelnou nápovědu!

Lidé někdy zajímat o ověřování formulářů "lístky" a "cookies", protože úzce souvisí. I pocházet přes otázky, jako jsou tyto: nikdo vysvětlit rozdíly mezi vypršení platnosti souboru cookie a vypršení platnosti lístku? Po vypršení platnosti souboru cookie, bude uživatel přesměrován na přihlašovací stránku. Co se stane, když vyprší platnost lístku? Bude také vytvořit soubor cookie vyprší? Co SlidingUpdate skutečně aktualizovat?

Bude se zaměřit na tyto dva aspekty ověřování pomocí formulářů v tomto článku, odpovězte na následující otázky:
  • Co je lístek ověřování pomocí formulářů a formulářů ověřovací soubor cookie? Jak jsou spolu souvisejí?
  • Co je role lístek ověřování formulářů?
  • Jak souvisí vypršení platnosti souboru cookie a vypršení platnosti lístku?
  • Jak se provádí klouzavé vypršení platnosti v rámci lístek ověřování pomocí formulářů a formulářů ověřovací soubor cookie?
  • Kde lze nastavit vlastnost časový limit souboru cookie ověřování formulářů a formulářů ověřovací lístek?
  • Problém scénář: ověřování formulářů může časový limit před hodnotu atributu časový limit, který je nastaven v konfiguračním souboru

Co je lístek ověřování pomocí formulářů a formulářů ověřovací soubor cookie? Jak jsou spolu souvisejí?

Soubor cookie ověřování pomocí formulářů je výhradně kontejner pro ověřovací lístek. Lístek je předán jako hodnotu formulářů ověřovací soubor cookie při každém požadavku a ověřování formulářů na serveru, používá k identifikaci ověřeného uživatele.

Pokud jsme se rozhodli používat formulářovou autentizaci, letenky budou předány v adrese URL v šifrovaném formátu. Ověřování pomocí formulářů cookieless je použita, protože někdy blokovat soubory cookie v prohlížeči klienta. Tato funkce je zavedena v Microsoft rozhraní.NET Framework 2.0.

Další informace naleznete následujícím webu Microsoft Developer Network (MSDN):

Co je role lístek ověřování formulářů?

Zjistit, kdo jste aplikaci technologie ASP.NET se používá lístek ověřování pomocí formulářů. Lístek je tedy stavební blok zabezpečení ověřování formulářů.

Lístek je šifrovanou a podepsanou pomocí konfiguračního elementu < machineKey > souboru Machine.config serveru. Technologie ASP.NET 2.0 používá decryptionKey a nový atribut dešifrování elementu < machineKey > šifrování lístků formulářové autentizace. Atribut dešifrování umožňuje určit šifrovací algoritmus, který chcete použít. Technologie ASP.NET 1.1 a 1.0 pomocí šifrování 3DES, který není konfigurovatelné. Manipulaci s hodnotou lístek je určena chybě dešifrování lístků na serveru. Proto uživatel přesměrován na přihlašovací stránku.


V případě, že aplikace je zavedena ve webové serverové farmě, můžete Ujistěte se, že konfigurační soubory na každém serveru sdílejí stejnou hodnotu pro validationKey a decryptionKey atributy ve značce < machineKey > , které se používají k výpočtu hodnoty hash a dešifrování lístek v uvedeném pořadí. Je nutné provést, protože nemůže zaručit, který server bude zpracovávat následující požadavky. Další informace o šifrování FormsAuthenticationTicket a důležité informace o zavádění webové farmy naleznete na následujícím webu MSDN:Procházení prostřednictvím metod pro ruční generování klíčů naleznete v následujících článcích znalostní báze Microsoft Knowledge Base:
312906 jak vytvořit klíče pomocí Visual C# .NET pro použití při ověřování pomocí formulářů

313091 jak vytvořit klíče pomocí jazyka Visual Basic .NET pro použití při ověřování pomocí formulářů

Lístky ověřování formulářů může vytvořit ručně pomocí třídy FormsAuthenticationTicket . Další informace naleznete na následujícím webu MSDN:

Jak souvisí vypršení platnosti souboru cookie a vypršení platnosti lístku?

V případě non trvalý soubor cookie pokud vypršela platnost lístku také soubor cookie vyprší a uživatel bude přesměrován na přihlašovací stránku. Na druhé straně Pokud lístek je označen jako trvalé, kde je uložen soubor cookie v dialogovém okně Klient prohlížeče používají stejný soubor cookie ověřování pro přihlášení k webu kdykoli. Však můžeme použít FormsAuthentication.SignOut způsob odstranění trvalé nebo dočasné soubory cookie explicitně.

Další informace o metodě FormsAuthentication.SignOut naleznete na následujícím webu MSDN:S formulářovou autentizaci Pokud je prohlížeč uzavřen, lístek je ztracena a bude vygenerován nový lístek při dalším požadavku.

Jak se provádí klouzavé vypršení platnosti v rámci lístek ověřování pomocí formulářů a formulářů ověřovací soubor cookie?

Klouzavé vypršení platnosti funguje přesně stejně!

Můžeme vzít příklad: Pokud je přístup k přihlašovací stránce v 5:00 00:00:00 odp., by měla skončit na 5 10:00:00: 00 hodin Pokud je atribut časový limit 10 a atribut slidingExpiration je nastavena na hodnotu TRUE. Nyní, pokud libovolnou webovou stránku v prohlížeči znovu v 5:05 00:00:00 odp., soubory cookie a časový limit lístku bude nastavena na 5:15 00:00:00 odp.

Poznámka: Pokud webová stránka přístupná před polovinu vypršení časových intervalech, čas vypršení platnosti lístku nelze vynulovat. Popředí, pokud například přístupu k jakékoli webové stránky v 5:04 00:00:00 hodin, budou obnoveny soubory cookie a časový limit lístku.

Další informace naleznete na následujícím webu MSDN:

Kde lze nastavit hodnotu časového limitu souboru cookie ověřování formulářů a formulářů ověřovací lístek?

Pouze nastavení, které můžete provést, je v souboru Web.config nebo Machine.config, ve značce < forms > . Tato změna určí časový limit ověřování pomocí formulářů v rámci lístek nebo soubor cookie, pokud lístek je generován ručně.

<!--forms Attributes: 
name="[cookie name]" - Sets the name of the cookie used for Forms Authentication.
loginUrl="[url]" - Sets the URL to redirect client to for authentication.
protection="[All|None|Encryption|Validation]" - Sets the protection mode for data in cookie.
timeout="[minutes]" - Sets the duration of time for cookie to be valid (reset on each request).
path="/" - Sets the path for the cookie.
requireSSL="[true|false]" - Should the forms authentication cookie be sent only over SSL?
slidingExpiration="[true|false]" - Should the forms authentication cookie and ticket be reissued if they are about to expire?
-->
Další informace naleznete na následujícím webu MSDN:Pokud lístek je generován ručně pomocí třídy FormsAuthenticationTicket , časový limit lze nastavit pomocí atributu vypršení platnosti . Tato hodnota přepíše hodnotu atributu časový limit zadán v konfiguračních souborech.

Další informace o členech FormsAuthenticationTicket naleznete na následujícím webu MSDN:

Problém scénář: ověřování formulářů může časový limit před hodnotu atributu časový limit, který je nastaven v konfiguračním souboru

Pokud ověřovací lístek je generován ručně, vlastnost časový limit lístku přepíše hodnotu, která je nastavena v konfiguračním souboru. Proto pokud tato hodnota je menší než hodnota v konfiguračním souboru, formulářů ověřovací lístek vyprší dříve, než konfigurační soubor časový limit atribut hodnotu a naopak. Předpokládejme například, žečasový limit atribut < forms >v souboru Web.config nastavena na 30 a hodnota vypršení platnosti lístku je nastavena na 20 minut. V tomto případě formulářů ověřovací lístek vyprší po 20 minutách a uživatel bude muset při přihlášení znovu.

Související odkazy

910439 Poradce při potížích s ověřování pomocí formulářů

891032 Poradce při potížích s ASP.NET

301240 jak implementovat ověřování na základě formulářů ve vaší aplikaci technologie ASP.NET pomocí C# .NET

308157 jak implementovat ověřování na základě formulářů ve vaší aplikaci technologie ASP.NET pomocí Visual Basic .NET

Doufám, že jste našli tyto informace užitečné při zmírnění některé nejasnosti související s lístek ověřování pomocí formulářů technologie ASP.NET a soubory cookie. Nezapomeňte, že podpora hlasové sloupce, které jsou pro vás! Jako vždy, atmosféru volného odeslat nápady na témata chcete určeno v budoucnosti sloupce nebo pomocí znalostní báze Microsoft Knowledge Base
Dotaz pro jeho formuláře.