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 die Authentifizierung aller Benutzer erfordert.

<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 Formularauthentifizierung und ASP.NET Mitgliedschaft verwendet.

Wichtig

Dieses Beispiel enthält ein Textfeld, das Benutzereingaben akzeptiert, was eine potenzielle Sicherheitsgefährdung darstellt. Standardmäßig stellen ASP.NET-Webseiten sicher, dass Benutzereingaben keine Skript- oder HTML-Elemente enthalten. Weitere Informationen finden Sie unter Übersicht über Skriptangriffe.

<%@ 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 Überprüfung von Benutzern und Kennwörtern 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. Nachdem ein Benutzer authentifiziert wurde, verwaltet die Formularauthentifizierung ein Authentifizierungsticket in einem Cookie oder in der URL, sodass ein authentifizierter Benutzer nicht bei jeder Anforderung Anmeldeinformationen angeben muss.

Die Formularauthentifizierung wird aktiviert, indem das mode Attribut des Authentifizierungskonfigurationselements auf Formsfestgelegt wird. Sie können verlangen, 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 den konfigurierten 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 um, die für die Anmeldung bei einer Anwendung konfiguriert ist LoginUrl . Die RedirectFromLoginPage -Methode leitet einen authentifizierten Benutzer zurück zur ursprünglichen geschützten URL, die angefordert wurde, oder an die DefaultUrlum. Es gibt auch Methoden, mit denen Sie Bei Bedarf Formularauthentifizierungstickets verwalten können.

Konstruktoren

FormsAuthentication()

Initialisiert eine neue Instanz der FormsAuthentication-Klasse.

Eigenschaften

CookieDomain

Ruft den Wert der Domäne des Formularauthentifizierungscookies ab.

CookieMode

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

CookieSameSite

Ruft den Wert des Attributs „SameSite“ des Cookies ab oder legt ihn fest.

CookiesSupported

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

DefaultUrl

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

EnableCrossAppRedirects

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

FormsCookieName

Ruft den Namen des Cookies ab, das zum Speichern des Formularauthentifizierungstickets verwendet wird.

FormsCookiePath

Ruft den Pfad für das Formularauthentifizierungscookie ab.

IsEnabled

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

LoginUrl

Ruft die URL für die Anmeldeseite ab, auf die die FormsAuthentication-Klasse umleitet.

RequireSSL

Ruft einen Wert ab, der angibt, ob SSL zum Zurücksenden des Formularauthentifizierungscookies an den Server erforderlich ist.

SlidingExpiration

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

TicketCompatibilityMode

Ruft einen Wert ab, der angibt, ob UTC (Coordinated Universal Time) oder Ortszeit für das Ticketablaufdatum verwendet werden soll.

Timeout

Ruft die Zeitdauer, bis ein Authentifizierungsticket abläuft, ab.

Methoden

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 auf Grundlage des verschlüsselten Formularauthentifizierungstickets, das an die Methode übergeben wird, ein FormsAuthenticationTicket-Objekt.

EnableFormsAuthentication(NameValueCollection)

Ermöglicht die Formularauthentifizierung.

Encrypt(FormsAuthenticationTicket)

Erstellt eine Zeichenfolge, die ein verschlüsseltes Formularauthentifizierungsticket enthält, das für die Verwendung in einem HTTP-Cookie geeignet ist.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetAuthCookie(String, Boolean)

Erstellt ein Authentifizierungscookie für einen angegebenen Benutzernamen. Dabei wird das Cookie nicht als Teil der ausgehenden Antwort festgelegt, sodass eine Anwendung größere Kontrolle über die Art der Ausgabe des Cookies hat.

GetAuthCookie(String, Boolean, String)

Erstellt ein Authentifizierungscookie für einen angegebenen Benutzernamen. Dabei wird das Cookie nicht als Teil der ausgehenden Antwort festgelegt.

GetHashCode()

Fungiert 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 den Type der aktuellen Instanz ab.

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

Erstellt anhand des angegebenen Kennworts und des Hashalgorithmus ein Hashkennwort, das zum Speichern in einer Konfigurationsdatei geeignet ist.

Initialize()

Initialisiert das FormsAuthentication-Objekt auf Grundlage der Konfigurationseinstellungen für die Anwendung.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
RedirectFromLoginPage(String, Boolean)

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

RedirectFromLoginPage(String, Boolean, String)

Leitet einen authentifizierten Benutzer wieder an die ursprünglich angeforderte URL oder an die Standard-URL um. Hierfür wird der angegebene Cookiepfad für das Formularauthentifizierungscookie verwendet.

RedirectToLoginPage()

Leitet den Browser auf die Anmelde-URL um.

RedirectToLoginPage(String)

Leitet den Browser mit der angegebenen Abfragezeichenfolge auf die Anmelde-URL um.

RenewTicketIfOld(FormsAuthenticationTicket)

Aktualisiert unter bestimmten Bedingungen Ausgabedatum und -uhrzeit sowie Ablaufdatum und -uhrzeit für ein FormsAuthenticationTicket.

SetAuthCookie(String, Boolean)

Erstellt ein Authentifizierungsticket für den angegebenen Benutzernamen und fügt es der Cookieauflistung der Antwort oder der URL hinzu, wenn die Authentifizierung ohne Cookies verwendet wird.

SetAuthCookie(String, Boolean, String)

Erstellt ein Authentifizierungsticket für den angegebenen Benutzernamen und fügt es der Cookieauflistung der Antwort unter Verwendung des angegebenen Cookiepfads oder, wenn die Authentifizierung ohne Cookies verwendet wird, unter Verwendung der URL hinzu.

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