INFORMACE: Nápověda zabezpečené ověřování formulářů pomocí protokol SSL (Secure Sockets Layer) (SSL)

Překlady článku Překlady článku
ID článku: 813829 - Produkty, které se vztahují k tomuto článku.
Tento článek se týká následujícího oboru názvů knihovny tříd technologie Microsoft .NET Framework:
  • System.Web.Security
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Ve výchozím nastavení není soubor cookie obsahující ověřovací lístek formulářů zabezpečena při použití ověřování pomocí formulářů v aplikaci ASP.NET webu. Tento článek popisuje, jak pomoci ověřování zabezpečené formulářů pomocí protokol SSL (Secure Sockets Layer) (SSL). Tento článek také popisuje možnosti implementace Další a alternativní způsoby pomoci ověřování zabezpečené formulářů.

Další informace

Ověřování na základě formulářů je ověřovací služba ASP.NET, která umožňuje aplikacím poskytnout vlastní přihlašovací rozhraní a provést ověření vlastní pověření. S ověřování formulářů ASP.NET ověřuje uživatele a přesměruje neověřených uživatelů na přihlašovací stránce je zadán atribut loginUrl<forms> prvek v souboru web.config. Při zadání pověření prostřednictvím přihlašovací formulář aplikace požadavek ověří a potom systém vydá FormsAuthenticationTicket třídy ve formuláři souboru cookie. Třída FormsAuthenticationTicket předán jako soubor cookie v odpovědi na následné webové požadavky z ověřeného klienta.

Ačkoli ověřování formulářů poskytuje flexibilní znamená ověřování, je nutné pečlivě zvážit některé důležité problémy při zabezpečit aplikaci ASP.NET. Je nutné chránit počáteční přihlašovací pověření pomocí SSL, protože pověření jsou odesílána na server jako prostý text. Musíte také přesvědčit pomoci chránit soubor cookie obsahující ověřovací lístek formulářů. To provedete pomocí SSL k ochraně lístek na všech stránkách. Můžete také zašifrovat ověřovací lístek formulářů nastavením ochrany atribut <forms> prvku na vše nebo šifrovat v souboru web.config a použití metody šifrováníFormsAuthentication třídy zašifrovat lístek. Další informace o metodě šifrovat třídy FormsAuthentication naleznete "" části tohoto článku.

Výhody ověřování formulářů

  • Podporuje ověřování formulářů proti vlastní data ukládat jako Microsoft SQL Server databáze nebo Active Directory adresářové služby. Další informace naleznete v tomto článku v části "REFERENCES".
  • Autorizace s vyhledávací roli z úložiště dat založené na rolích podporuje ověřování formulářů.
  • Ověřování formulářů plynule integrována s webu uživatelského rozhraní. Další informace naleznete v tomto článku v části "REFERENCES".
  • ASP.NET poskytuje většinu infrastruktury. Relativně málo kód je vyžadován v porovnání se ASP Microsoft verze 3.0 a starší
  • Ověřování pomocí formulářů ASP.NET nevyžaduje Microsoft Internet Explorer. Ověřování formulářů podporuje klienty široký rozsah webového prohlížeče.

Jak zabezpečené ověřování formulářů vytvořit nápovědu

  • Použít SSL pro všechny stránky.
  • Použijte metodu šifrovat třídy FormsAuthentication.

Použít SSL pro všechny stránky

Nápovědu, ujistěte se, že ověřovací soubor cookie zůstane zabezpečený v rámci relace prohlížeče klienta pomocí šifrování SSL pomoci zabezpečený zabezpečený přístup všech stránek. Pomocí šifrování SSL na aplikace pomoci zabránit komukoli porušili ověřovací soubor cookie a z přenosu jiných cenných informací.

V souboru web.config nastavena hodnota requireSSL vlastnost na hodnotu true. Tento soubor cookie je odeslána do prohlížeče umístí SSL místě. Pokud nenastavíte hodnotu requireSSL na hodnotu true, způsobí výjimku nebo formuláře není ověřeno s souboru cookie.

Při requireSSL nastavena na hodnotu true, šifrované připojení pomáhá chránit pověření uživatele a ASP.NET nastaví vlastnost HttpCookie.Secure ověřovací soubor cookie. Kompatibilní s prohlížeči nevrací soubor cookie, pokud používá připojení SSL. Následující příklad ukazuje, jak to provést v souboru web.config aplikace:
 <configuration>
 <system.web>
   <authentication mode="Forms">
     <forms name=".ASPXAUTH"
       loginUrl="login.aspx" 
       protection="All"
       timeout="20"
       requireSSL="true">
     </forms>
   </authentication > 
   <authorization>
     <deny users="?" />
   </authorization>
 </system.web>
</configuration>
Následující příklad provede akci, pokud soubor cookie je nastavena k zabezpečenému přenosu:

Visual C# .NET kód
 string cookieName = FormsAuthentication.FormsCookieName.ToString(); 
 HttpCookie MyCookie = Context.Request.Cookies[cookieName];

 if (MyCookie.Secure)
 {
      Response.Write("The cookie is secure with SSL.");
      // Add other required code here.
 } 

Kód jazyka .NET
   Dim cookieName As String = FormsAuthentication.FormsCookieName.ToString
   Dim MyCookie As HttpCookie = Context.Request.Cookies(cookieName)
   If MyCookie.Secure Then
      Response.Write("The cookie is secure with SSL.")
      ' Add other required code here.
   End If

Použití zašifrovat metoda třídy FormsAuthentication

Pokud používáte pouze SSL na webové stránce počáteční přihlašovací pověření předaná pro ověřování šifrovat, ujistěte se, že chráněn ověřovací lístek formulářů obsažené v souboru cookie. Lístky ověřování formulářů musí být chráněny, protože soubor cookie je na každé následných webový požadavek předán mezi klientem a serverem. Zašifrovat formulářů ověřovací lístek, konfigurovat atribut ochranu<forms> prvek a použití metody šifrováníFormsAuthentication třídy zašifrovat lístek.
<authentication mode="Forms">
  <forms name="MyAppFormsAuth"
       loginUrl="login.aspx"
       protection="All"
       timeout="20" 
       path="/" >
  </forms>
</authentication> 
Protože atribut ochrany je nastaven na hodnotu vše, kdy aplikace volá metodu FormsAuthentication.Encrypt, lístku musí být ověřeny a být zašifrován.

Při vytváření formuláře ověřovací lístek, volání metody šifrování. Obvykle vytvoříte lístek v obsluze události přihlášení aplikace.

Visual C# .NET kód
string encryptedTicket = FormsAuthentication.Encrypt(authTicket);
Kód jazyka .NET
Dim encryptedTicket As String = FormsAuthentication.Encrypt(authTicket)

Odkazy

Informace o ověřování formulářů a ASP.NET navštivte následující weby:
Ověřování ASP.NET: zabezpečení .NET dokumentace
http://msdn2.microsoft.com/en-us/library/ms978378.aspx
Zprostředkovatel ověřování formulářů
http://msdn2.microsoft.com/en-us/library/9wff0kyh(vs.71).aspx
Další informace o použití SSL zabezpečit ověřování formulářů klepněte na následující čísla následujících článcích databáze Microsoft Knowledge Base:
306590INFORMACE: Přehled Security ASP.NET
315588Postupy: Secure aplikace ASP.NET pomocí certifikátů na straně klienta
313116PRB: Forms ověřování jsou není směrovány požadavky na stránky loginUrl
324069Postupy: Nastavení HTTPS služby v IIS
326340AD - postupy: ověření pomocí ověřování formulářů a Visual Basic .NET proti Active Directory
301240SQL - postupy: Implementace Forms Based Authentication v softwarovou aplikaci ASP.NET pomocí C# .NET
308157SQL - postupy: Implementace Forms Based Authentication v softwarovou aplikaci ASP.NET pomocí jazyka .NET
311495Postupy: Provést systémem role zabezpečení s ověřováním v systému ASP.NET Forms-Based aplikací pomocí Visual C# .NET
306238Postupy: Provést systémem role zabezpečení s Forms Based Authentication v softwarovou aplikaci ASP.NET pomocí jazyka .NET
312906Vytvoření klíčů pro použití ověřování formulářů pomocí Visual C# .NET
313091Vytvoření klíčů pro použití formulářů pomocí jazyka .NET ověřování

Vlastnosti

ID článku: 813829 - Poslední aktualizace: 19. dubna 2007 - Revize: 2.5
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft ASP.NET 1.1
Klíčová slova: 
kbmt kbcookie kbwebforms kbauthentication kbsecurity kbconfig kbinfo KB813829 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:813829

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