FormsAuthentication Klasse

Definition

Verwaltet Formularauthentifizierungsdienste für Webanwendungen. Diese Klasse kann nicht vererbt werden.

public ref class FormsAuthentication sealed
public sealed class FormsAuthentication
type FormsAuthentication = class
Public NotInheritable Class FormsAuthentication
Vererbung
FormsAuthentication

Beispiele

Das folgende Codebeispiel zeigt die Web.config-Datei für eine ASP.NET Anwendung, die den ASP.NET Mitgliedschaftsanbieter für die Formularauthentifizierung verwendet und erfordert, dass alle Benutzer authentifiziert werden.

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

Das folgende Codebeispiel zeigt die Anmeldeseite für eine ASP.NET Anwendung, die die Formularauthentifizierung und ASP.NET Mitgliedschaft verwendet.

Important

Dieses Beispiel enthält ein Textfeld, das Benutzereingaben akzeptiert, bei denen es sich um eine potenzielle Sicherheitsrisiken handelt. Standardmäßig überprüfen ASP.NET Webseiten, dass die Benutzereingabe keine Skript- oder HTML-Elemente enthält. Weitere Informationen finden Sie unter Script Exploits Overview.

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

Hinweise

Die Formularauthentifizierung ermöglicht die Benutzer- und Kennwortüberprüfung für Webanwendungen, die keine Windows-Authentifizierung erfordern. Bei der Formularauthentifizierung werden Benutzerinformationen in einer externen Datenquelle, z. B. einer Membership Datenbank oder in der Konfigurationsdatei für eine Anwendung, gespeichert. Sobald ein Benutzer authentifiziert wurde, verwaltet die Formularauthentifizierung ein Authentifizierungsticket in einem Cookie oder in der URL, sodass ein authentifizierter Benutzer keine Anmeldeinformationen für jede Anforderung angeben muss.

Die Formularauthentifizierung wird durch Festlegen des mode Attributs des Authentifizierungskonfigurationselements auf Formsaktiviert. Sie können festlegen, dass alle Anforderungen an eine Anwendung ein gültiges Benutzerauthentifizierungsticket enthalten, indem Sie das Autorisierungskonfigurationselement verwenden, um die Anforderung eines unbekannten Benutzers zu verweigern, wie im folgenden Beispiel gezeigt.

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

Im vorherigen Beispiel erfordert jede Anforderung für eine ASP.NET Seite, die Teil der Anwendung ist, einen gültigen Benutzernamen, der von der Formularauthentifizierung bereitgestellt wird. Wenn kein Benutzername vorhanden ist, wird die Anforderung an die konfigurierte LoginUrlumgeleitet.

Die FormsAuthentication Klasse bietet Zugriff auf Methoden und Eigenschaften, die Sie in einer Anwendung verwenden können, die Benutzer authentifiziert. Die RedirectToLoginPage Methode leitet einen Browser an die konfigurierten LoginUrl Benutzer weiter, um sich bei einer Anwendung anzumelden. Die RedirectFromLoginPage Methode leitet einen authentifizierten Benutzer zurück an die ursprüngliche geschützte URL, die angefordert wurde, oder an die DefaultUrl. Es gibt auch Methoden, mit denen Sie Bei Bedarf Formularauthentifizierungstickets verwalten können.

Konstruktoren

Name Beschreibung
FormsAuthentication()

Initialisiert eine neue Instanz der FormsAuthentication-Klasse.

Eigenschaften

Name Beschreibung
CookieDomain

Ruft den Wert der Domäne des Formularauthentifizierungscookies ab.

CookieMode

Ruft einen Wert ab, der angibt, ob die Anwendung für die Authentifizierung ohne Cookies konfiguriert ist.

CookieSameSite

Dient zum Abrufen oder Festlegen des Werts für das SameSite-Attribut des Cookies.

CookiesSupported

Ruft einen Wert ab, der angibt, ob die Anwendung für die Unterstützung der cookielosen Formularauthentifizierung konfiguriert ist.

DefaultUrl

Ruft die URL ab, zu der die FormsAuthentication Klasse umleitet, wenn keine Umleitungs-URL angegeben ist.

EnableCrossAppRedirects

Ruft einen Wert ab, der angibt, ob authentifizierte Benutzer an URLs in anderen Webanwendungen umgeleitet werden können.

FormsCookieName

Ruft den Namen des Cookies ab, mit dem das Formularauthentifizierungsticket gespeichert wird.

FormsCookiePath

Ruft den Pfad für das Formularauthentifizierungscookies ab.

IsEnabled

Ruft einen Wert ab, der angibt, ob die Formularauthentifizierung aktiviert ist.

LoginUrl

Ruft die URL für die Anmeldeseite ab, zu der die FormsAuthentication Klasse umgeleitet wird.

RequireSSL

Ruft einen Wert ab, der angibt, ob das Formularauthentifizierungscookies SSL erfordert, um an den Server zurückgegeben zu werden.

SlidingExpiration

Ruft einen Wert ab, der angibt, ob der Ablauf des Gleitens aktiviert ist.

TicketCompatibilityMode

Ruft einen Wert ab, der angibt, ob koordinierte Weltzeit (UTC) oder Ortszeit für das Ablaufdatum des Tickets verwendet werden soll.

Timeout

Ruft den Zeitraum ab, bevor ein Authentifizierungsticket abläuft.

Methoden

Name Beschreibung
Authenticate(String, String)
Veraltet.

Überprüft einen Benutzernamen und ein Kennwort anhand von Anmeldeinformationen, die in der Konfigurationsdatei für eine Anwendung gespeichert sind.

Decrypt(String)

Erstellt ein FormsAuthenticationTicket Objekt basierend auf dem verschlüsselten Formularauthentifizierungsticket, das an die Methode übergeben wird.

EnableFormsAuthentication(NameValueCollection)

Aktiviert die Formularauthentifizierung.

Encrypt(FormsAuthenticationTicket)

Erstellt eine Zeichenfolge mit einem verschlüsselten Formularauthentifizierungsticket, das für die Verwendung in einem HTTP-Cookie geeignet ist.

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetAuthCookie(String, Boolean, String)

Erstellt ein Authentifizierungscookies für einen bestimmten Benutzernamen. Dadurch wird das Cookie nicht als Teil der ausgehenden Antwort festgelegt.

GetAuthCookie(String, Boolean)

Erstellt ein Authentifizierungscookies für einen bestimmten Benutzernamen. Dadurch wird das Cookie nicht als Teil der ausgehenden Antwort festgelegt, sodass eine Anwendung mehr Kontrolle darüber haben kann, wie das Cookie ausgegeben wird.

GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetRedirectUrl(String, Boolean)

Gibt die Umleitungs-URL für die ursprüngliche Anforderung zurück, die die Umleitung zur Anmeldeseite verursacht hat.

GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
HashPasswordForStoringInConfigFile(String, String)
Veraltet.

Erzeugt ein Hashkennwort, das zum Speichern in einer Konfigurationsdatei basierend auf dem angegebenen Kennwort- und Hashalgorithmus geeignet ist.

Initialize()

Initialisiert das FormsAuthentication Objekt basierend auf den Konfigurationseinstellungen für die Anwendung.

MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
RedirectFromLoginPage(String, Boolean, String)

Leitet einen authentifizierten Benutzer zurück zur ursprünglich angeforderten URL oder die Standard-URL mithilfe des angegebenen Cookiepfads für das Formularauthentifizierungscookies um.

RedirectFromLoginPage(String, Boolean)

Leitet einen authentifizierten Benutzer an die ursprünglich angeforderte URL oder die Standard-URL zurück.

RedirectToLoginPage()

Leitet den Browser an die Anmelde-URL um.

RedirectToLoginPage(String)

Leitet den Browser an die Anmelde-URL mit der angegebenen Abfragezeichenfolge weiter.

RenewTicketIfOld(FormsAuthenticationTicket)

Aktualisiert bedingt das Problemdatum und die Uhrzeit sowie das Ablaufdatum und die Ablaufzeit für ein FormsAuthenticationTicket.

SetAuthCookie(String, Boolean, String)

Erstellt ein Authentifizierungsticket für den angegebenen Benutzernamen und fügt es der Cookies-Sammlung der Antwort hinzu, verwendet den angegebenen Cookiepfad oder die URL, wenn Sie die cookielose Authentifizierung verwenden.

SetAuthCookie(String, Boolean)

Erstellt ein Authentifizierungsticket für den angegebenen Benutzernamen und fügt es der Cookies-Sammlung der Antwort oder der URL hinzu, wenn Sie die cookielose Authentifizierung verwenden.

SignOut()

Entfernt das Formularauthentifizierungsticket aus dem Browser.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für:

Weitere Informationen