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

Překlady článku Překlady článku
ID článku: 910443 - Produkty, které se vztahují k tomuto článku.
Sloupec hlasové podpory technologie ASP.NET

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

Pokud chcete upravit v tomto sloupci vašim potřebám, chceme pozvat odeslat vaše náměty na témata, která zajímají je a problémy, které chcete zobrazit zaslána v budoucnosti sloupce podporu hlasu a články znalostní báze Knowledge Base. Můžete odeslat své myšlenky a pomocí zpětné vazby Požádejte o ni formulář. Je také odkaz na formulář v dolní části tohoto sloupce.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Úvod

Vítejte na sloupci hlasová podpora Microsoft ASP.NET. Jsem s týmem podpory technologie ASP.NET developer Nilay B. Shah. I pracovaly s podporou technologie ASP.NET 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ým podpory technologie ASP.NET, jeho Neuvěřitelná pomoc!

Lidé někdy zajímat o ověřování formulářů "lístky" a "cookies", protože spolu úzce souvisejí. 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 formulářů ověřovací soubor cookie lístků a ověřování pomocí formulářů? Jak jsou spolu souvisejí?
  • Co je role lístek v ověřování pomocí formulářů?
  • Jak se vypršení platnosti souboru cookie a expirationrelated lístek?
  • 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 authenticationcookie formulářů a formulářů ověřovací lístek?
  • Problém scénář: ověřování formulářů může čas outbefore hodnotu atributu časový limit nastavený configurationfile

Co je lístek ověřování pomocí formulářů a formulářů ověřovací soubor cookie? Arethey souvislost?

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.

Pro další informace navštivte následující Web společnosti Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/System.Web.Configuration.FormsAuthenticationConfiguration.Cookieless.aspx

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

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

Lístek je šifrovanou a podepsanou pomocí <machineKey></machineKey> konfigurační prvek souboru Machine.config serveru. Technologie ASP.NET 2.0 používá decryptionKey a nový atribut dešifrování<machineKey></machineKey> Chcete-li zašifrovat prvek lístcích ověřování pomocí formulářů. Dešifrování atribut 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. V důsledku toho uživatel přesměrován na přihlašovací stránku.

V případě, že aplikace je zavedena ve webové farmě, musíte sdílet stejné hodnoty pro atributy validationKey a decryptionKey v konfiguračních souborech na každém serveru <machineKey></machineKey> značku, 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:
http://msdn2.microsoft.com/en-us/library/ms998288.aspx
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ístků formulářové autentizace může vytvořit ručně pomocí třídy FormsAuthenticationTicket . Další informace naleznete na následujícím webu MSDN:
http://msdn2.microsoft.com/en-us/library/System.Web.Security.FormsAuthenticationTicket.aspx

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

V případě dočasný 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:
http://msdn2.microsoft.com/en-us/library/System.Web.Security.FormsAuthentication.SignOut.aspx
S formulářovou autentizaci Pokud se neotevře v prohlížeči, 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 kontextu offorms ověřovací lístek 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 hodin, by měla skončit na 5 10:00:00: 00 odp. je-li atribut timeout 10 a atribut slidingExpiration je nastaven na hodnotu TRUE. Nyní, pokud libovolnou webovou stránku v prohlížeči znovu v 5:05 00:00:00 hodin, 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 budou obnoveny. 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:
http://msdn2.microsoft.com/en-us/library/1d3t3c61 (vs.71).aspx

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

Je pouze nastavení, které lze nastavit v souboru Web.config nebo Machine.config, v <forms></forms> značky. Tato změna bude určit č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:
http://msdn2.microsoft.com/en-us/library/1d3t3c61.aspx
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:
http://msdn2.microsoft.com/en-us/library/System.Web.Security.formsauthenticationticket_members.aspx

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

Pokud je ručně vygeneroval lístek ověřování pomocí formulářů, vlastnost časový limit lístku přepíše hodnotu nastavenou 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. Například předpokládejme, <forms> </forms>atributu timeout 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í aplikace 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 jsou sloupce hlasová podpora pro vás! Jako vždy, určena atmosféru volného odeslat nápady na témata, které má v budoucnu sloupců nebo v článku znalostní báze Microsoft Knowledge Base pomocí Požádejte o ni formulář.

Vlastnosti

ID článku: 910443 - Poslední aktualizace: 21. září 2013 - Revize: 4.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft ASP.NET 2.0
  • Microsoft ASP.NET 1.0
  • Microsoft ASP.NET 1.1
Klíčová slova: 
kbhowto kbasp kbmt KB910443 KbMtcs
Strojově přeložený článek
DŮLEŽITÉ: Tento článek je přeložen pomocí softwaru na strojový překlad Microsoft. Nepřesný či chybný překlad lze opravit prostřednictvím technologie Community Translation Framework (CTF). Microsoft nabízí strojově přeložené, komunitou dodatečně upravované články, a články přeložené lidmi s cílem zajistit přístup ke všem článkům v naší znalostní bázi ve více jazycích. Strojově přeložené a dodatečně upravované články mohou obsahovat chyby ve slovníku, syntaxi a gramatice. Společnost Microsoft není odpovědná za jakékoliv nepřesnosti, chyby nebo škody způsobené nesprávným překladem obsahu nebo jeho použitím našimi zákazníky. Více o CTF naleznete na http://support.microsoft.com/gp/machine-translation-corrections/cs.
Projděte si také anglickou verzi článku: 910443

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com