Freigeben über


FormsAuthentication-Klasse

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

Namespace: System.Web.Security
Assembly: System.Web (in system.web.dll)

Syntax

'Declaration
Public NotInheritable Class FormsAuthentication
'Usage
Dim instance As FormsAuthentication
public sealed class FormsAuthentication
public ref class FormsAuthentication sealed
public final class FormsAuthentication
public final class FormsAuthentication

Hinweise

Mithilfe der Formularauthentifizierung können Benutzer und Kennwörter für Webanwendungen validiert werden, für die keine Windows-Authentifizierung erforderlich ist. Bei der Formularauthentifizierung werden Benutzerinformationen in einer externen Datenquelle gespeichert, z. B. in einer Membership-Datenbank oder in der Konfigurationsdatei für eine Anwendung. Sobald ein Benutzer authentifiziert wurde, verwaltet die Formularauthentifizierung ein Authentifizierungsticket in einem Cookie oder im URL, sodass authentifizierte Benutzer nicht bei jeder Anforderung Anmeldeinformationen angeben müssen.

Die Formularauthentifizierung wird aktiviert, indem das mode-Attribut des authentication-Konfigurationselements auf Forms festlegt wird. Sie können angeben, dass alle Anforderungen an eine Anwendung ein gültiges Benutzerauthentifizierungsticket enthalten müssen, indem Sie das authorization-Konfigurationselement so verwenden, dass es Anforderungen unbekannter Benutzer zurückweist. Dies wird im folgenden Beispiel veranschaulicht.

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

Im oben genannten Beispiel ist für jede Anforderung für eine ASP.NET-Seite, die Bestandteil der Anwendung ist, ein gültiger Benutzername erforderlich, der durch die Formularauthentifizierung bereitgestellt wird. Wenn kein Benutzername vorhanden ist, wird die Anforderung an den konfigurierten LoginUrl umgeleitet.

Über die FormsAuthentication-Klasse kann auf Methoden und Eigenschaften zugegriffen werden, die Sie in einer Anwendung verwenden können, in der Benutzer authentifiziert werden. Die RedirectToLoginPage-Methode leitet einen Browser an den konfigurierten LoginUrl um, damit sich Benutzer an einer Anwendung anmelden können. Die RedirectFromLoginPage-Methode leitet einen authentifizierten Benutzer wieder an den ursprünglich angeforderten geschützten URL oder an den DefaultUrl um. Mit bestimmten Methoden können ggf. auch Formularauthentifizierungstickets verwaltet werden.

Thema Position
Exemplarische Vorgehensweise: Erstellen einer Website mit Mitgliedschaft und Benutzeranmeldung (Visual Studio) Erstellen von ASP.NET-Webanwendungen in Visual Studio
Exemplarische Vorgehensweise: Erstellen einer Website mit Mitgliedschaft und Benutzeranmeldung Erstellen von Anwendungen mit Visual Web Developer
Gewusst wie: Implementieren der einfachen Formularauthentifizierung Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Verwenden erweiterter Features des ASP.NET-Anmeldesteuerelements Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Implementieren der einfachen Formularauthentifizierung Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Verwenden erweiterter Features des ASP.NET-Anmeldesteuerelements Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Erstellen einer ASP.NET-Anmeldeseite Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Erstellen einer ASP.NET-Anmeldeseite Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Implementieren der einfachen Formularauthentifizierung Erstellen von ASP.NET-Webanwendungen
Gewusst wie: Verwenden erweiterter Features des ASP.NET-Anmeldesteuerelements Erstellen von ASP.NET-Webanwendungen
Gewusst wie: Erstellen einer ASP.NET-Anmeldeseite Erstellen von ASP.NET-Webanwendungen

Beispiel

Im folgenden Codebeispiel wird die Datei Web.config für eine ASP.NET-Anwendung dargestellt, die den ASP.NET-Mitgliedschaftsanbieter für die Formularauthentifizierung verwendet und für die alle Benutzer authentifiziert werden müssen.

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

Im folgenden Codebeispiel wird die Anmeldeseite für eine ASP.NET-Anwendung dargestellt, die Formularauthentifizierung und ASP.NET-Mitgliedschaft verwendet.

<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Security" %>

<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>
<head>
  <title>Login</title>
</head>
<body>

<form runat="server">
  <h3>Login</h3>

  <asp:Label id="Msg" ForeColor="maroon" runat="server" /><P>

  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 <u>not</u> a public computer.

</form>

</body>
</html>
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>

<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>
<head>
  <title>Login</title>
</head>
<body>

<form runat="server">
  <h3>Login</h3>

  <asp:Label id="Msg" ForeColor="maroon" runat="server" /><P>

  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 <u>not</u> a public computer.

</form>

</body>
</html>

.NET Framework-Sicherheit

Vererbungshierarchie

System.Object
  System.Web.Security.FormsAuthentication

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

FormsAuthentication-Member
System.Web.Security-Namespace

Weitere Ressourcen

Formularauthentifizierungsanbieter