FormsAuthentication Třída

Definice

Spravuje služby ověřování pomocí formulářů pro webové aplikace. Tato třída se nemůže 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 ASP.NET aplikaci, která používá ověřování pomocí formulářů a ASP.NET členství.

Important

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 vstup uživatele neobsahuje skripty ani elementy HTML. Další informace naleznete 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ěřování uživatelů a hesel pro webové aplikace, které nevyžadují Windows authentication. Při ověřování pomocí formulářů se informace o uživatelích ukládají v externím zdroji dat, jako Membership je databáze, 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 zadávat přihlašovací údaje s každou žádostí.

Ověřování pomocí formulářů je povoleno nastavením mode atributu elementu konfigurace ověřování na Formshodnotu . Můžete vyžadovat, aby všechny požadavky na aplikaci obsahovaly platný lístek ověření uživatele pomocí elementu konfigurace autorizace k zamítnutí požadavku 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 jakýkoli požadavek na ASP.NET stránku, která je součástí aplikace, platné uživatelské jméno, které je zadáno ověřováním pomocí formulářů. Pokud neexistuje žádné uživatelské jméno, požadavek se přesměruje na nakonfigurované LoginUrl.

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 uživatele, aby se mohli přihlásit k aplikaci. RedirectFromLoginPage Metoda přesměruje ověřeného uživatele zpět na původní chráněnou adresu URL, která byla požadována nebo na DefaultUrl. Existují také metody, které umožňují v případě potřeby spravovat lístky ověřování pomocí formulářů.

Konstruktory

Name Description
FormsAuthentication()

Inicializuje novou instanci FormsAuthentication třídy.

Vlastnosti

Name Description
CookieDomain

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

CookieMode

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

CookieSameSite

Získá nebo nastaví hodnotu pro SameSite atribut cookie.

CookiesSupported

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

DefaultUrl

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

EnableCrossAppRedirects

Získá hodnotu urč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í pomocí formulářů.

FormsCookiePath

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

IsEnabled

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

LoginUrl

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

RequireSSL

Získá hodnotu určující, zda formulář-ověřování cookie vyžaduje SSL, aby bylo vráceno na server.

SlidingExpiration

Získá hodnotu označující, zda je povoleno posuvné 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 před vypršením platnosti ověřovacího lístku.

Metody

Name Description
Authenticate(String, String)
Zastaralé.

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

Decrypt(String)

FormsAuthenticationTicket Vytvoří objekt založený na zašifrovaném lístku ověřování pomocí formulářů předaného metodě.

EnableFormsAuthentication(NameValueCollection)

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

Encrypt(FormsAuthenticationTicket)

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

Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

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

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

GetAuthCookie(String, Boolean)

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

GetHashCode()

Slouží jako výchozí funkce hash.

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

Vrátí adresu URL pro 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á Type aktuální instance.

(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 algoritmu hash.

Initialize()

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

MemberwiseClone()

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

(Zděděno od Object)
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 cookie pro soubor cookie pro ověřování formulářů.

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.

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 vydání a datum a čas vypršení platnosti pro určitý FormsAuthenticationTicket.

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.

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.

SignOut()

Odebere lístek ověřování pomocí 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é