Membership Klasse

Definition

Überprüft Benutzeranmeldeinformationen und verwaltet Benutzereinstellungen. Diese Klasse kann nicht vererbt werden.

public ref class Membership abstract sealed
public static class Membership
type Membership = class
Public Class Membership
Vererbung
Membership

Beispiele

Das folgende Codebeispiel zeigt die Anmeldeseite für eine ASP.NET Anwendung, die für die Verwendung der Formularauthentifizierung und ASP.NET Mitgliedschaft konfiguriert ist. Wenn die angegebenen Benutzeranmeldeinformationen ungültig sind, wird eine Nachricht dem Benutzer angezeigt. Andernfalls wird der Benutzer mithilfe der RedirectFromLoginPage Methode an die ursprünglich angeforderte URL umgeleitet.

Hinweis

Die ASP.NET Anmeldesteuerelemente (Login, LoginViewLoginNameLoginStatusund PasswordRecovery) kapselen praktisch alle Logiken, die erforderlich sind, um Benutzer zu Anmeldeinformationen aufzufordern und die Anmeldeinformationen im Mitgliedschaftssystem zu überprüfen und anstelle der programmgesteuerten Überprüfung mithilfe der Membership Klasse zu verwenden.

Wichtig

Dieses Beispiel enthält ein Textfeld, das Benutzereingaben akzeptiert, die eine potenzielle Sicherheitsrisiken darstellen. 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 Membership Klasse wird in ASP.NET Anwendungen verwendet, um Benutzeranmeldeinformationen zu überprüfen und Benutzereinstellungen wie Kennwörter und E-Mail-Adressen zu verwalten. Die Membership Klasse kann selbst oder in Verbindung mit dem FormsAuthentication erstellen eines vollständigen Systems zum Authentifizieren von Benutzern einer Webanwendung oder Website verwendet werden. Das Login Steuerelement kapselt die Klasse, um einen bequemen Mechanismus für die Membership Überprüfung von Benutzern bereitzustellen.

Hinweis

Wenn Sie nicht mit den Mitgliedschaftsfeatures von ASP.NET vertraut sind, lesen Sie die Einführung in die Mitgliedschaft, bevor Sie fortfahren. Eine Liste anderer Themen im Zusammenhang mit der Mitgliedschaft finden Sie unter Verwalten von Benutzern mithilfe der Mitgliedschaft.

Die Membership Klasse bietet Einrichtungen für:

  • Erstellen neuer Benutzer.

  • Speichern von Mitgliedschaftsinformationen (Benutzernamen, Kennwörtern, E-Mail-Adressen und unterstützenden Daten) in Microsoft SQL Server oder in einem alternativen Datenspeicher.

  • Authentifizieren von Benutzern, die Ihre Website besuchen. Sie können Benutzer programmgesteuert authentifizieren oder das Steuerelement verwenden Login , um ein vollständiges Authentifizierungssystem zu erstellen, das wenig oder kein Code erfordert.

  • Verwalten von Kennwörtern, die das Erstellen, Ändern, Abrufen und Zurücksetzen umfassen, usw. Sie können optional ASP.NET Mitgliedschaft konfigurieren, um eine Kennwortfrage zu benötigen und antworten, um Kennwortrücksetzungs- oder Abrufanforderungen für Benutzer zu authentifizieren, die ihr Kennwort vergessen haben.

Obwohl ASP.NET Mitgliedschaft ein selbststehendes Feature in ASP.NET Für die Authentifizierung ist, kann sie mit ASP.NET Rollenverwaltung integriert werden, um Autorisierungsdienste für Ihre Website bereitzustellen. Die Mitgliedschaft kann auch mit dem ASP.NET Benutzer integriert werden, um anwendungsspezifische Anpassungen bereitzustellen, die auf einzelne Benutzer System.Web.Profile zugeschnitten werden können. Ausführliche Informationen finden Sie im Überblick über die Rollenverwaltung und ASP.NET Profileigenschaften.

Die Membership Klasse basiert auf Mitgliedschaftsanbietern, um mit einer Datenquelle zu kommunizieren. Die .NET Framework enthält eine SqlMembershipProvider, die Benutzerinformationen in einer Microsoft SQL Server-Datenbank speichert und eine , mit der ActiveDirectoryMembershipProviderSie Benutzerinformationen auf einem Active Directory- oder Active Directory-Anwendungsmodus (ADAM)-Server speichern können. Sie können auch einen benutzerdefinierten Mitgliedschaftsanbieter implementieren, um mit einer alternativen Datenquelle zu kommunizieren, die von der Membership Klasse verwendet werden kann. Benutzerdefinierte Mitgliedschaftsanbieter erben die MembershipProvider abstrakte Klasse. Weitere Informationen finden Sie unter Implementieren eines Mitgliedschaftsanbieters.

Standardmäßig ist ASP.NET Mitgliedschaft für alle ASP.NET Anwendungen aktiviert. Der Standardmitgliedschaftsanbieter ist die SqlMembershipProvider und wird in der Computerkonfiguration mit dem Namen AspNetSqlProviderangegeben. Die Standardinstanz der SqlMembershipProvider Verbindung mit einer lokalen Instanz von Microsoft SQL Server ist konfiguriert.

Sie können die Standardeinstellungen ändern, um eine SqlMembershipProvider andere als die AspNetSqlProvider Instanz als Standardanbieter anzugeben oder eine Instanz eines benutzerdefinierten Anbieters als Standardanbieter für Ihre ASP.NET Anwendung mithilfe der Web.config-Datei anzugeben. Sie können die ASP.NET Mitgliedschaftskonfiguration für Ihre Webanwendung mithilfe des Abschnitts "Mitgliedschaftskonfiguration" in der datei Web.config angeben. Sie können den Abschnitt " Anbieter " des Mitgliedschaftsbereichs verwenden, um einen anderen Mitgliedschaftsanbieter als einen der Standardanbieter anzugeben. Der folgende Mitgliedschaftsabschnitt entfernt beispielsweise die Standardmitgliedschaftsanbieter aus der aktuellen Anwendungskonfiguration und fügt einen neuen Anbieter mit einem Namen SqlProvider hinzu, der eine Verbindung mit einer SQL Server Instanz AspSqlServernamens herstellt.

<configuration>  
  <connectionStrings>  
    <add name="SqlServices" connectionString="Data Source=AspSqlServer;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />  
  </connectionStrings>  
  <system.web>  
    <membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">  
      <providers>  
        <remove name="AspNetSqlProvider" />  
        <add name="SqlProvider"  
          type="System.Web.Security.SqlMembershipProvider"  
          connectionStringName="SqlServices"  
          enablePasswordRetrieval="false"  
          enablePasswordReset="true"  
          requiresQuestionAndAnswer="true"  
          passwordFormat="Hashed"  
          applicationName="/" />  
      </providers>  
    </membership>  
  </system.web>  
</configuration>  

Eigenschaften

ApplicationName

Ruft den Namen der Anwendung ab oder legt diesen fest.

EnablePasswordReset

Ruft einen Wert ab, der angibt, ob der aktuelle Mitgliedschaftsanbieter so konfiguriert ist, dass Benutzer ihre Kennwörter zurücksetzen können.

EnablePasswordRetrieval

Ruft einen Wert ab, der angibt, ob der aktuelle Mitgliedschaftsanbieter so konfiguriert ist, dass Benutzer ihre Kennwörter abrufen können.

HashAlgorithmType

Der Bezeichner des für Hashkennwörter verwendeten Algorithmus.

MaxInvalidPasswordAttempts

Ruft die Anzahl der zulässigen ungültigen Kennwort- oder Kennwortantwortversuche ab, bevor der Mitgliedschaftsbenutzer ausgesperrt wird.

MinRequiredNonAlphanumericCharacters

Ruft die minimale Anzahl von Sonderzeichen ab, die ein gültiges Kennwort enthalten muss.

MinRequiredPasswordLength

Ruft die minimale erforderliche Länge für ein Kennwort ab.

PasswordAttemptWindow

Ruft das Zeitfenster ab, in dem aufeinander folgende fehlerhafte Versuche, ein gültiges Kennwort oder eine gültige Kennwortantwort bereitzustellen, nachverfolgt werden.

PasswordStrengthRegularExpression

Ruft den regulären Ausdruck ab, der zum Auswerten eines Kennworts verwendet wird.

Provider

Ruft einen Verweis auf den Standardmitgliedschaftsanbieter für die Anwendung ab.

Providers

Ruft eine Auflistung der Mitgliedschaftsanbieter für die ASP.NET-Anwendung ab.

RequiresQuestionAndAnswer

Ruft einen Wert ab, der angibt, ob der Benutzer durch den Standardmitgliedschaftsanbieter beim Zurücksetzen und Abrufen des Kennworts aufgefordert wird, eine Kennwortfrage zu beantworten.

UserIsOnlineTimeWindow

Gibt die Anzahl der Minuten nach dem Datums-/Zeitstempel der letzten Aktivität für einen Benutzer an, während denen der Benutzer als online angesehen wird.

Methoden

CreateUser(String, String)

Fügt dem Datenspeicher einen neuen Benutzer hinzu.

CreateUser(String, String, String)

Fügt dem Datenspeicher einen neuen Benutzer mit einer angegebenen E-Mail-Adresse hinzu.

CreateUser(String, String, String, String, String, Boolean, MembershipCreateStatus)

Fügt dem Datenspeicher einen neuen Benutzer mit angegebenen Eigenschaftswerten hinzu und gibt einen Statusparameter zurück, der das erfolgreiche Erstellen des Benutzers bzw. den Grund dafür angibt, dass der Benutzer nicht erstellt werden konnte.

CreateUser(String, String, String, String, String, Boolean, Object, MembershipCreateStatus)

Fügt dem Datenspeicher einen neuen Benutzer mit angegebenen Eigenschaftswerten und einem eindeutigen Bezeichner hinzu und gibt einen Statusparameter zurück, der das erfolgreiche Erstellen des Benutzers bzw. den Grund dafür angibt, dass der Benutzer nicht erstellt werden konnte.

DeleteUser(String)

Löscht einen Benutzer und alle zugehörigen Benutzerdaten aus der Datenbank.

DeleteUser(String, Boolean)

Löscht einen Benutzer aus der Datenbank.

FindUsersByEmail(String)

Ruft eine Auflistung von Mitgliedschaftsbenutzern ab, bei denen die E-Mail-Adresse die zu vergleichende angegebene E-Mail-Adresse enthält.

FindUsersByEmail(String, Int32, Int32, Int32)

Ruft eine Auflistung von Mitgliedschaftsbenutzern auf einer Datenseite ab, deren E-Mail-Adresse die angegebene E-Mail-Adresse enthält.

FindUsersByName(String)

Ruft eine Auflistung von Mitgliedschaftsbenutzern ab, deren Benutzername den angegebenen Vergleichsbenutzernamen enthält.

FindUsersByName(String, Int32, Int32, Int32)

Ruft eine Auflistung von Mitgliedschaftsbenutzern auf einer Datenseite ab, deren Benutzername den angegebenen Vergleichsbenutzernamen enthält.

GeneratePassword(Int32, Int32)

Generiert nach dem Zufallsprinzip ein Kennwort mit der angegebenen Länge.

GetAllUsers()

Ruft eine Auflistung aller Benutzer in der Datenbank ab.

GetAllUsers(Int32, Int32, Int32)

Ruft eine Auflistung aller Benutzer in der Datenbank in Datenseiten ab.

GetNumberOfUsersOnline()

Ruft die Anzahl der Benutzer ab, die gegenwärtig auf eine Anwendung zugreifen.

GetUser()

Ruft die Informationen aus der Datenquelle ab und aktualisiert den Datums-/Zeitstempel der letzten Aktivität für den derzeit angemeldeten Mitgliedschaftsbenutzer.

GetUser(Boolean)

Ruft die Informationen für den derzeit angemeldeten Mitgliedschaftsbenutzer aus der Datenquelle ab. Aktualisiert den Datums-/Zeitstempel der letzten Aktivität für den derzeit angemeldeten Mitgliedschaftsbenutzer, falls ein solcher angegeben ist.

GetUser(Object)

Ruft die Informationen für den Mitgliedschaftsbenutzer aus der Datenquelle ab, der dem angegebenen eindeutigen Bezeichner zugeordnet ist.

GetUser(Object, Boolean)

Ruft die Informationen für den Mitgliedschaftsbenutzer aus der Datenquelle ab, der dem angegebenen eindeutigen Bezeichner zugeordnet ist. Aktualisiert den Datums-/Zeitstempel der letzten Aktivität für den Benutzer, falls ein solcher angegeben ist.

GetUser(String)

Ruft die Informationen für den angegebenen Mitgliedschaftsbenutzer aus der Datenquelle ab.

GetUser(String, Boolean)

Ruft die Informationen für den angegebenen Mitgliedschaftsbenutzer aus der Datenquelle ab. Aktualisiert den Datums-/Zeitstempel der letzten Aktivität für den Benutzer, falls ein solcher angegeben ist.

GetUserNameByEmail(String)

Ruft einen Benutzernamen ab, bei dem die E-Mail-Adresse für den Benutzer mit der angegebenen E-Mail-Adresse übereinstimmt.

UpdateUser(MembershipUser)

Aktualisiert die Datenbank mit den Informationen für den angegebenen Benutzer.

ValidateUser(String, String)

Überprüft, ob der angegebene Benutzername und das angegebene Kennwort gültig sind.

Ereignisse

ValidatingPassword

Tritt auf, wenn ein Benutzer erstellt, ein Kennwort geändert oder ein Kennwort zurückgesetzt wird.

Gilt für

Siehe auch