Sdílet prostřednictvím


FormsAuthentication Třída

Definice

Spravuje služby ověřování 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 aplikaci ASP.NET, která používá ověřování pomocí formulářů a ASP.NET členství.

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ěřte, ž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ěřování uživatelů a hesel pro webové aplikace, které nevyžadují ověřování systému Windows. Při ověřování pomocí formulářů jsou informace o uživateli uloženy v externím zdroji dat, například Membership v databázi, nebo v konfiguračním souboru pro aplikaci. Po ověření uživatele udržuje ověřování pomocí formulářů ověřovací lístek v souboru cookie nebo v adrese URL tak, 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 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 a zamítnout požadavek 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, které je zadáno ověřováním pomocí formulářů. Pokud 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 , aby se uživatelé mohli přihlásit 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 DefaultUrl. Existují také metody, které v případě potřeby umožňují spravovat lístky ověřování pomocí formulářů.

Konstruktory

FormsAuthentication()

Inicializuje novou instanci FormsAuthentication třídy .

Vlastnosti

CookieDomain

Získá hodnotu domény forms-authentication cookie.

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 atributu SameSite souboru cookie.

CookiesSupported

Získá hodnotu, která označuje, zda aplikace je 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, který se používá 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 pro přihlašovací stránku, na kterou FormsAuthentication 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 se vrátil na server.

SlidingExpiration

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

TicketCompatibilityMode

Získá hodnotu, která určuje, zda se má 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

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 na základě šifrovaného lístku ověřování formulářů předaného metodě .

EnableFormsAuthentication(NameValueCollection)

Umožňuje ověřování pomocí formulářů.

Encrypt(FormsAuthenticationTicket)

Vytvoří řetězec obsahující zašifrovaný lístek ověřování 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í pro původní požadavek, který způsobil přesměrování na přihlašovací stránku.

GetType()

Type Získá z 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 hash 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 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 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é