FormsAuthentication Osztály

Definíció

Webalkalmazások űrlaphitelesítési szolgáltatásait kezeli. Ez az osztály nem örökölhető.

public ref class FormsAuthentication sealed
public sealed class FormsAuthentication
type FormsAuthentication = class
Public NotInheritable Class FormsAuthentication
Öröklődés
FormsAuthentication

Példák

Az alábbi példakód egy ASP.NET alkalmazás Web.config fájlját mutatja be, amely a ASP.NET tagságszolgáltatóját használja az űrlaphitelesítéshez, és megköveteli az összes felhasználó hitelesítését.

<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>

Az alábbi példakód egy űrlaphitelesítést és ASP.NET tagságot használó ASP.NET alkalmazás bejelentkezési oldalát mutatja be.

Important

Ez a példa egy szövegdobozt tartalmaz, amely elfogadja a felhasználói bemenetet, ami potenciális biztonsági fenyegetés. Alapértelmezés szerint ASP.NET weblapok ellenőrzik, hogy a felhasználói bevitel nem tartalmaz-e szkript- vagy HTML-elemeket. További információ: Szkript kihasználása – áttekintés.

<%@ 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>

Megjegyzések

Az űrlapok hitelesítése lehetővé teszi a felhasználók és jelszavak érvényesítését olyan webalkalmazások esetében, amelyek nem igényelnek Windows authentication. Az űrlaphitelesítéssel a felhasználói adatokat egy külső adatforrásban, például egy Membership adatbázisban vagy egy alkalmazás konfigurációs fájljában tárolja a rendszer. A felhasználó hitelesítése után az űrlaphitelesítés egy hitelesítési jegyet tart fenn egy cookie-ban vagy az URL-címben, hogy a hitelesített felhasználónak ne kelljen hitelesítő adatokat megadnia az egyes kérésekhez.

Az űrlapok hitelesítése a mode konfigurációs elem attribútumának beállításával Forms engedélyezve van. Megkövetelheti, hogy az alkalmazáshoz érkező összes kérés érvényes felhasználói hitelesítési jegyet tartalmazzon, ha az engedélyezési konfigurációs elem használatával megtagadja az ismeretlen felhasználók kérését, ahogyan az az alábbi példában is látható.

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

Az előző példában az alkalmazás részét képező ASP.NET lapra vonatkozó kérésekhez érvényes felhasználónevet kell megadni, amelyet űrlaphitelesítés biztosít. Ha nincs felhasználónév, a rendszer átirányítja a kérést a konfiguráltra LoginUrl.

Az FormsAuthentication osztály hozzáférést biztosít a felhasználók hitelesítését biztosító alkalmazásokban használható metódusokhoz és tulajdonságokhoz. A RedirectToLoginPage metódus átirányítja a böngészőt az alkalmazásba való bejelentkezéshez konfigurált LoginUrl böngészőhöz. A RedirectFromLoginPage metódus visszairányítja a hitelesített felhasználót a kért eredeti védett URL-címre vagy a DefaultUrl. Vannak olyan módszerek is, amelyekkel szükség esetén kezelheti az űrlaphitelesítési jegyeket.

Konstruktorok

Name Description
FormsAuthentication()

Inicializálja a FormsAuthentication osztály új példányát.

Tulajdonságok

Name Description
CookieDomain

Lekéri az űrlaphitelesítési cookie tartományának értékét.

CookieMode

Beolvas egy értéket, amely jelzi, hogy az alkalmazás konfigurálva van-e a cookie nélküli űrlapok hitelesítéséhez.

CookieSameSite

Lekéri vagy beállítja a cookie SameSite attribútumának értékét.

CookiesSupported

Olyan értéket kap, amely jelzi, hogy az alkalmazás a cookie nélküli űrlapok hitelesítésének támogatására van-e konfigurálva.

DefaultUrl

Lekéri azt az URL-címet, amelybe az FormsAuthentication osztály átirányít, ha nincs megadva átirányítási URL-cím.

EnableCrossAppRedirects

Beolvas egy értéket, amely jelzi, hogy a hitelesített felhasználók átirányíthatók-e más webalkalmazások URL-címére.

FormsCookieName

Lekéri az űrlaphitelesítési jegy tárolására használt cookie nevét.

FormsCookiePath

Lekéri az űrlap-hitelesítési cookie elérési útját.

IsEnabled

Beolvas egy értéket, amely jelzi, hogy engedélyezve van-e az űrlaphitelesítés.

LoginUrl

Lekéri annak a bejelentkezési oldalnak az URL-címét, amelybe az FormsAuthentication osztály átirányít.

RequireSSL

Lekéri az értéket, amely jelzi, hogy az űrlap-hitelesítési cookie-hoz SSL szükséges-e ahhoz, hogy vissza lehessen-e adni a kiszolgálónak.

SlidingExpiration

Beolvas egy értéket, amely jelzi, hogy engedélyezve van-e a csúszási lejárat.

TicketCompatibilityMode

Olyan értéket kap, amely jelzi, hogy a jegy lejárati dátumához az egyezményes világidőt (UTC) vagy a helyi időt kell-e használni.

Timeout

Lekéri a hitelesítési jegy lejárata előtt eltelt időt.

Metódusok

Name Description
Authenticate(String, String)
Elavult.

Ellenőrzi a felhasználónevet és a jelszót az alkalmazás konfigurációs fájljában tárolt hitelesítő adatokkal szemben.

Decrypt(String)

Létrehoz egy FormsAuthenticationTicket objektumot a metódusnak átadott titkosított űrlap-hitelesítési jegy alapján.

EnableFormsAuthentication(NameValueCollection)

Engedélyezi az űrlapok hitelesítését.

Encrypt(FormsAuthenticationTicket)

Egy HTTP-cookie-ban való használatra alkalmas titkosított űrlap-hitelesítési jegyet tartalmazó sztringet hoz létre.

Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetAuthCookie(String, Boolean, String)

Létrehoz egy hitelesítési cookie-t egy adott felhasználónévhez. Ez nem állítja be a cookie-t a kimenő válasz részeként.

GetAuthCookie(String, Boolean)

Létrehoz egy hitelesítési cookie-t egy adott felhasználónévhez. Ez nem állítja be a cookie-t a kimenő válasz részeként, így az alkalmazás jobban szabályozhatja a cookie kiadását.

GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetRedirectUrl(String, Boolean)

Az eredeti kérés átirányítási URL-címét adja vissza, amely a bejelentkezési lapra való átirányítást okozta.

GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
HashPasswordForStoringInConfigFile(String, String)
Elavult.

A megadott jelszó és kivonatoló algoritmus alapján egy konfigurációs fájlban való tárolásra alkalmas kivonatjelszót hoz létre.

Initialize()

Inicializálja az FormsAuthentication objektumot az alkalmazás konfigurációs beállításai alapján.

MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
RedirectFromLoginPage(String, Boolean, String)

Átirányítja a hitelesített felhasználót az eredetileg kért URL-címre vagy az alapértelmezett URL-címre az űrlap-hitelesítési cookie megadott elérési útján.

RedirectFromLoginPage(String, Boolean)

Átirányít egy hitelesített felhasználót az eredetileg kért URL-címre vagy az alapértelmezett URL-címre.

RedirectToLoginPage()

Átirányítja a böngészőt a bejelentkezési URL-címre.

RedirectToLoginPage(String)

Átirányítja a böngészőt a bejelentkezési URL-címre a megadott lekérdezési sztringgel.

RenewTicketIfOld(FormsAuthenticationTicket)

Feltételesen frissíti a probléma dátumát és időpontját, valamint a lejárati dátumot és időt.FormsAuthenticationTicket

SetAuthCookie(String, Boolean, String)

Létrehoz egy hitelesítési jegyet a megadott felhasználónévhez, és hozzáadja azt a válasz cookie-gyűjteményéhez, a megadott cookie-elérési út használatával vagy az URL-cím használatával, ha cookie nélküli hitelesítést használ.

SetAuthCookie(String, Boolean)

Létrehoz egy hitelesítési jegyet a megadott felhasználónévhez, és hozzáadja a válasz cookie-gyűjteményéhez vagy az URL-címhez, ha cookie nélküli hitelesítést használ.

SignOut()

Eltávolítja az űrlap-hitelesítési jegyet a böngészőből.

ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

A következőre érvényes:

Lásd még