Share via


FormsAuthentication Třída

Definice

Spravuje služby ověřování formulářů pro webové aplikace. Tuto třídu nelze dědit.

public ref class FormsAuthentication sealed
public sealed class FormsAuthentication
type FormsAuthentication = class
Public NotInheritable Class FormsAuthentication
Dědičnost
FormsAuthentication

Příklady

Následující příklad kódu ukazuje soubor Web.config pro ASP.NET aplikaci, která používá zprostředkovatele členství ASP.NET pro ověřování formulářů a vyžaduje ověření všech uživatelů.

<configuration>
  <connectionStrings>
    <add name="SqlServices" connectionString="Data Source=MySqlServer;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />
  </connectionStrings>
  <system.web>
    <membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">
      <providers>
        <add name="SqlProvider"
          type="System.Web.Security.SqlMembershipProvider"
          connectionStringName="SqlServices"
          enablePasswordRetrieval="false"
          enablePasswordReset="true"
          requiresQuestionAndAnswer="true"
          passwordFormat="Hashed"
          applicationName="/" />
      </providers>
    </membership>
  </system.web>
</configuration>

Následující příklad kódu ukazuje přihlašovací stránku pro aplikaci ASP.NET, která používá ověřování pomocí formulářů a členství v ASP.NET.

Důležité

Tento příklad obsahuje textové pole, které přijímá vstup uživatele, což je potenciální bezpečnostní hrozba. Ve výchozím nastavení ASP.NET webové stránky ověřují, že uživatelský vstup neobsahuje skript nebo elementy HTML. Další informace najdete v tématu Přehled zneužití skriptů.

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

public void Login_OnClick(object sender, EventArgs args)
{
   if (Membership.ValidateUser(UsernameTextbox.Text, PasswordTextbox.Text))
      FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked);
   else
     Msg.Text = "Login failed. Please check your user name and password and try again.";
}


</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
  <title>Login</title>
</head>
<body>

<form id="form1" runat="server">
  <h3>Login</h3>

  <asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />

  Username: <asp:Textbox id="UsernameTextbox" runat="server" /><br />
  Password: <asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /><br />
 
  <asp:Button id="LoginButton" Text="Login" OnClick="Login_OnClick" runat="server" />
  <asp:CheckBox id="NotPublicCheckBox" runat="server" /> 
  Check here if this is <span style="text-decoration:underline">not</span> a public computer.

</form>

</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Security" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

Public Sub Login_OnClick(sender As Object, args As  EventArgs)

   If (Membership.ValidateUser(UsernameTextbox.Text, PasswordTextbox.Text)) Then
      FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked)
   Else
     Msg.Text = "Login failed. Please check your user name and password and try again."
   End If

End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
  <title>Login</title>
</head>
<body>

<form id="form1" runat="server">
  <h3>Login</h3>

  <asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />

  Username: <asp:Textbox id="UsernameTextbox" runat="server" /><br />
  Password: <asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /><br />
 
  <asp:Button id="LoginButton" Text="Login" OnClick="Login_OnClick" runat="server" />
  <asp:CheckBox id="NotPublicCheckBox" runat="server" /> 
  Check here if this is <span style="text-decoration:underline">not</span> a public computer.

</form>

</body>
</html>

Poznámky

Ověřování pomocí formulářů umožňuje ověření uživatele a hesla pro webové aplikace, které nevyžadují ověřování systému Windows. Při ověřování pomocí formulářů se informace o uživatelích ukládají v externím zdroji dat, například Membership v databázi, nebo v konfiguračním souboru aplikace. Jakmile je uživatel ověřený, ověřování pomocí formulářů udržuje ověřovací lístek v souboru cookie nebo v adrese URL, aby ověřený uživatel nemusel při každém požadavku zadávat přihlašovací údaje.

Ověřování pomocí formulářů je povoleno nastavením atributu mode elementu konfigurace ověřování na Formshodnotu . Můžete vyžadovat, aby všechny požadavky na aplikaci obsahovaly platný lístek ověřování uživatele pomocí elementu konfigurace autorizace k zamítnutí žádosti libovolného neznámého uživatele, jak je znázorněno v následujícím příkladu.

<system.web>
  <authentication mode="Forms">
    <forms loginUrl="login.aspx" />
  </authentication>
  <authorization>
    <deny users="?" />
  </authorization>
</system.web>

V předchozím příkladu vyžaduje každý požadavek na stránku ASP.NET, která je součástí aplikace, platné uživatelské jméno zadané ověřováním pomocí formulářů. Pokud žádné uživatelské jméno neexistuje, požadavek se přesměruje na nakonfigurovanou LoginUrladresu .

Třída FormsAuthentication poskytuje přístup k metodám a vlastnostem, které můžete použít v aplikaci, která ověřuje uživatele. Metoda RedirectToLoginPage přesměruje prohlížeč na nakonfigurovaný LoginUrl pro přihlášení uživatelů k aplikaci. Metoda RedirectFromLoginPage přesměruje ověřeného uživatele zpět na původní požadovanou chráněnou adresu URL nebo na DefaultUrladresu . Existují také metody, které umožňují v případě potřeby spravovat lístky ověřování formulářů.

Konstruktory

FormsAuthentication()

Inicializuje novou instanci FormsAuthentication třídy.

Vlastnosti

CookieDomain

Získá hodnotu domény souboru cookie ověřování formulářů.

CookieMode

Získá hodnotu, která označuje, zda je aplikace nakonfigurována pro ověřování formulářů bez souborů cookie.

CookieSameSite

Získá nebo nastaví hodnotu pro Atribut SameSite souboru cookie.

CookiesSupported

Získá hodnotu, která označuje, zda je aplikace nakonfigurována pro podporu ověřování formulářů bez souborů cookie.

DefaultUrl

Získá adresu URL, na kterou FormsAuthentication bude třída přesměrována, pokud není zadána adresa URL přesměrování.

EnableCrossAppRedirects

Získá hodnotu označující, zda ověřené uživatele lze přesměrovat na adresy URL v jiných webových aplikacích.

FormsCookieName

Získá název souboru cookie použitého k uložení lístku ověřování formulářů.

FormsCookiePath

Získá cestu pro soubor cookie ověřování formulářů.

IsEnabled

Získá hodnotu, která označuje, zda je povoleno ověřování formulářů.

LoginUrl

Získá adresu URL přihlašovací stránky, na FormsAuthentication kterou bude třída přesměrována.

RequireSSL

Získá hodnotu označující, zda soubor cookie ověřování formulářů vyžaduje ssl, aby byl vrácen na server.

SlidingExpiration

Získá hodnotu označující, zda je povoleno klouzavé vypršení platnosti.

TicketCompatibilityMode

Získá hodnotu, která označuje, zda použít koordinovaný univerzální čas (UTC) nebo místní čas pro datum vypršení platnosti lístku.

Timeout

Získá dobu, po kterou vyprší platnost lístku ověřování.

Metody

Authenticate(String, String)
Zastaralé.

Ověří uživatelské jméno a heslo proti přihlašovacím údajům uloženým v konfiguračním souboru aplikace.

Decrypt(String)

Vytvoří FormsAuthenticationTicket objekt na základě lístku ověřování šifrovaných formulářů předaného metodě.

EnableFormsAuthentication(NameValueCollection)

Povolí ověřování pomocí formulářů.

Encrypt(FormsAuthenticationTicket)

Vytvoří řetězec obsahující lístek ověřování šifrovaných formulářů, který je vhodný pro použití v souboru cookie HTTP.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetAuthCookie(String, Boolean)

Vytvoří ověřovací soubor cookie pro dané uživatelské jméno. Tím se soubor cookie nenastaví jako součást odchozí odpovědi, aby aplikace měla větší kontrolu nad tím, jak se soubor cookie vydává.

GetAuthCookie(String, Boolean, String)

Vytvoří ověřovací soubor cookie pro dané uživatelské jméno. Tím se soubor cookie nenastaví jako součást odchozí odpovědi.

GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetRedirectUrl(String, Boolean)

Vrátí adresu URL přesměrování původního požadavku, který způsobil přesměrování na přihlašovací stránku.

GetType()

Získá aktuální Type instanci.

(Zděděno od Object)
HashPasswordForStoringInConfigFile(String, String)
Zastaralé.

Vytvoří heslo hash vhodné pro uložení do konfiguračního souboru na základě zadaného hesla a hashového algoritmu.

Initialize()

Inicializuje FormsAuthentication objekt na základě nastavení konfigurace aplikace.

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
RedirectFromLoginPage(String, Boolean)

Přesměruje ověřeného uživatele zpět na původně požadovanou adresu URL nebo výchozí adresu URL.

RedirectFromLoginPage(String, Boolean, String)

Přesměruje ověřeného uživatele zpět na původně požadovanou adresu URL nebo výchozí adresu URL pomocí zadané cesty k souboru cookie pro ověřování formulářů.

RedirectToLoginPage()

Přesměruje prohlížeč na přihlašovací adresu URL.

RedirectToLoginPage(String)

Přesměruje prohlížeč na přihlašovací adresu URL se zadaným řetězcem dotazu.

RenewTicketIfOld(FormsAuthenticationTicket)

Podmíněně aktualizuje datum a čas problému a datum a čas vypršení platnosti pro FormsAuthenticationTicket.

SetAuthCookie(String, Boolean)

Vytvoří ověřovací lístek pro zadané uživatelské jméno a přidá ho do kolekce souborů cookie odpovědi nebo na adresu URL, pokud používáte ověřování bez souborů cookie.

SetAuthCookie(String, Boolean, String)

Vytvoří ověřovací lístek pro zadané uživatelské jméno a přidá ho do kolekce souborů cookie odpovědi pomocí zadané cesty k souboru cookie nebo pomocí adresy URL, pokud používáte ověřování bez souborů cookie.

SignOut()

Odebere lístek ověřování formulářů z prohlížeče.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro

Viz také