FormsAuthentication Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 die Formularauthentifizierung und ASP.NET Mitgliedschaft verwendet.
Wichtig
Dieses Beispiel enthält ein Textfeld, das Benutzereingaben akzeptiert, was eine potenzielle Sicherheitsbedrohung 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 Benutzer- und Kennwortüberprüfung für Webanwendungen, die keine Windows-Authentifizierung erfordern. Bei der Formularauthentifizierung werden Benutzerinformationen in einer externen Datenquelle wie 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 nicht für jede Anforderung Anmeldeinformationen angeben muss.
Die Formularauthentifizierung wird aktiviert, indem das mode
Attribut des Authentifizierungskonfigurationselements auf Forms
festgelegt 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 angegeben 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 den um, der für benutzer konfiguriert ist LoginUrl , um sich bei einer Anwendung anzumelden. 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 Tickets für die Formularauthentifizierung 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) |