Freigeben über


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 dem Benutzer eine Meldung angezeigt. Andernfalls wird der Benutzer mithilfe der -Methode zur ursprünglich angeforderten RedirectFromLoginPage URL umgeleitet.

Hinweis

Die ASP.NET -Anmeldesteuerelemente (Login, , LoginViewLoginStatus, LoginNameund PasswordRecovery) kapseln praktisch die gesamte Logik, die erforderlich ist, um Benutzer zur Eingabe von Anmeldeinformationen und zur Überprüfung der Anmeldeinformationen im Mitgliedschaftssystem aufzufordern, und kann anstelle der programmgesteuerten Überprüfung mithilfe der Membership -Klasse verwendet werden.

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 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 allein oder in Verbindung mit dem FormsAuthentication verwendet werden, um ein vollständiges System zur Authentifizierung von Benutzern einer Webanwendung oder Website zu erstellen. Das Login Steuerelement kapselt die Membership -Klasse, um einen bequemen Mechanismus für die Überprüfung von Benutzern bereitzustellen.

Hinweis

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

Die Membership -Klasse bietet Folgende Funktionen:

  • Erstellen neuer Benutzer.

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

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

  • Verwalten von Kennwörtern, die das Erstellen, Ändern, Abrufen und Zurücksetzen usw. umfassen. Optional können Sie ASP.NET Mitgliedschaft so konfigurieren, dass sie eine Kennwortfrage und -antwort zum Authentifizieren von Kennwortzurücksetzungs- oder Abrufanforderungen für Benutzer erfordert, die ihr Kennwort vergessen haben.

Obwohl ASP.NET Mitgliedschaft ein eigenständiges Feature in ASP.NET Für die Authentifizierung ist, kann sie in ASP.NET Rollenverwaltung integriert werden, um Autorisierungsdienste für Ihre Website bereitzustellen. Die Mitgliedschaft kann auch in den ASP.NET-Benutzer System.Web.Profile integriert werden, um anwendungsspezifische Anpassungen bereitzustellen, die auf einzelne Benutzer zugeschnitten werden können. Ausführliche Informationen finden Sie unter Grundlegendes zur Rollenverwaltung und ASP.NET Profileigenschaften – Übersicht.

Die Membership -Klasse basiert auf Mitgliedschaftsanbietern, um mit einer Datenquelle zu kommunizieren. .NET Framework enthält ein SqlMembershipProvider, das Benutzerinformationen in einer Microsoft SQL Server-Datenbank speichert, und ein ActiveDirectoryMembershipProvider, mit dem Sie Benutzerinformationen auf einem Active Directory- oder ADAM-Server (Active Directory Application Mode) 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 der SqlMembershipProvider und wird in der Computerkonfiguration mit dem Namen AspNetSqlProviderangegeben. Die Standardinstanz von SqlMembershipProvider ist so konfiguriert, dass eine Verbindung mit einer lokalen Instanz von Microsoft SQL Server hergestellt wird.

Sie können die Standardeinstellungen ändern, um einen SqlMembershipProvider anderen 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 angeben. Sie können die ASP.NET-Mitgliedschaftskonfiguration für Ihre Webanwendung über den Abschnitt "Mitgliedschaftskonfiguration " in der Web.config-Datei angeben. Sie können den Unterabschnitt anbieter des Abschnitts Mitgliedschaft verwenden, um einen anderen Mitgliedschaftsanbieter als einen der Standardanbieter anzugeben. Im folgenden Mitgliedschaftsabschnitt werden beispielsweise die Standardmitgliedschaftsanbieter aus der aktuellen Anwendungskonfiguration entfernt und ein neuer Anbieter mit dem Namen hinzugefügt, der SqlProvider eine Verbindung mit einer SQL Server-Instanz namens AspSqlServerherstellt.

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

Weitere Informationen