SqlMembershipProvider 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 Speicher der Mitgliedschaftsinformationen für eine ASP.NET-Anwendung in einer SQL Server-Datenbank.
public ref class SqlMembershipProvider : System::Web::Security::MembershipProvider
public class SqlMembershipProvider : System.Web.Security.MembershipProvider
type SqlMembershipProvider = class
inherit MembershipProvider
Public Class SqlMembershipProvider
Inherits MembershipProvider
- Vererbung
Beispiele
Das folgende Codebeispiel zeigt die Web.config-Datei für eine ASP.NET Anwendung, die für die Verwendung von konfiguriert ist SqlMembershipProvider.
<configuration>
<connectionStrings>
<add name="SqlServices" connectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />
</connectionStrings>
<system.web>
<authentication mode="Forms" >
<forms loginUrl="login.aspx"
name=".ASPXFORMSAUTH" />
</authentication>
<authorization>
<deny users="?" />
</authorization>
<membership defaultProvider="SqlProvider"
userIsOnlineTimeWindow="15">
<providers>
<add
name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="SqlServices"
applicationName="MyApplication"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
requiresUniqueEmail="false"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
passwordAttemptWindow="10" />
</providers>
</membership>
</system.web>
</configuration>
Hinweise
Hinweis
ASP.NET Mitgliedschaftsanbieter wurden von ASP.NET Identity abgelöst. Es wird dringend empfohlen, Apps so zu aktualisieren, dass sie die ASP.NET Identity Platform anstelle der Mitgliedschaftsanbieter verwenden.
Diese Klasse wird von den Membership Klassen und MembershipUser verwendet, um Mitgliedschaftsdienste für eine ASP.NET-Anwendung mithilfe einer SQL Server-Datenbank bereitzustellen. Sie können einen SqlMembershipProvider ohne SQL Server nicht verwenden. Wenn auf Ihrem Computer SQL Server Express installiert ist und der Standardinstanzname und die Benutzerinstancing aktiviert sind, erstellt das Objekt bei der SqlMembershipProvider ersten Ausführung der Anwendung eine Datenbank, die im Verzeichnis der Anwendung App_Data
aufgerufen aspnetdb
wird.
Um die Datenbank manuell zu erstellen, führen Sie die Aspnet_regsql.exe
ausführbare Datei aus, die %systemroot%\Microsoft.NET\Framework\ versionNumber
sich im Ordner befindet, und geben Sie die -A m
Option an (z. B aspnet_regsql.exe -A m
. ). Die erstellte Datenbank heißt Aspnetdb. Führen Aspnet_regsql.exe
Sie alternativ aus, um den GUI-Konfigurationsmodus aufzurufen, und konfigurieren Sie alle ASP.NET Features.
Wenn der Mitgliedschaftsanbieter mit einer Verbindungszeichenfolge konfiguriert ist, die integrierte Sicherheit verwendet, muss das Prozesskonto der ASP.NET-Anwendung über Rechte zum Herstellen einer Verbindung mit der SQL Server-Datenbank verfügen.
Die Machine.config-Datei definiert eine Standardinstanz SqlMembershipProvider namens AspNetSqlMembershipProvider
, die eine Verbindung mit der SQL Server Express-Standardinstanz auf dem lokalen Computer herstellt. Sie können diese Instanz des Anbieters verwenden, wenn Sie SQL Server Express mit dem Standardinstanzennamen installiert haben, oder Sie können Ihre eigene Instanz in der Web.config-Datei für Ihre ASP.NET-Anwendung definieren.
Wenn Sie das passwordCompatMode
Attribut auf Framework40festlegen, kann die Anwendung die Optionen für Hashing- und Verschlüsselungsmitgliedschaft verwenden, die in ASP.NET 4 hinzugefügt wurden. Wenn das passwordCompatMode
Attribut jedoch auf Framework20festgelegt ist, können nur die Optionen für Hashing und Verschlüsselung aus den ASP.NET 2.0, ASP.NET 3.5 und ASP.NET 3.5 SP1 verwendet werden. Der Standardwert ist Framework20. Weitere Informationen finden Sie unter MembershipPasswordCompatibilityMode.
Konstruktoren
SqlMembershipProvider() |
Initialisiert eine neue Instanz der SqlMembershipProvider-Klasse. |
Eigenschaften
ApplicationName |
Ruft den Namen der Anwendung ab, für die Mitgliedschaftsinformationen gespeichert und abgerufen werden sollen, oder legt diesen fest. |
Description |
Ruft eine kurze, benutzerfreundliche Beschreibung ab, die für die Anzeige in Verwaltungstools oder anderen Benutzeroberflächen geeignet ist. (Geerbt von ProviderBase) |
EnablePasswordReset |
Ruft einen Wert ab, der angibt, ob der SQL Server-Mitgliedschaftsanbieter so konfiguriert ist, dass Benutzer ihre Kennwörter zurücksetzen können. |
EnablePasswordRetrieval |
Ruft einen Wert ab, der angibt, ob der SQL Server-Mitgliedschaftsanbieter so konfiguriert ist, dass Benutzer ihre Kennwörter abrufen können. |
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. |
Name |
Ruft den Anzeigennamen ab, der verwendet wird, um während der Konfiguration auf den Anbieter zu verweisen. (Geerbt von ProviderBase) |
PasswordAttemptWindow |
Ruft das Zeitfenster ab, in dem aufeinander folgende fehlerhafte Versuche, ein gültiges Kennwort oder eine gültige Kennwortantwort bereitzustellen, nachverfolgt werden. |
PasswordFormat |
Ruft einen Wert ab, der das Format zum Speichern von Kennwörtern in der SQL Server-Mitgliedschaftsdatenbank angibt. |
PasswordStrengthRegularExpression |
Ruft den regulären Ausdruck ab, der zum Auswerten eines Kennworts verwendet wird. |
RequiresQuestionAndAnswer |
Ruft einen Wert ab, der angibt, ob der SQL Server-Mitgliedschaftsanbieter so konfiguriert ist, dass der Benutzer zum Zurücksetzen und Abrufen des Kennworts eine Kennwortfrage beantworten muss. |
RequiresUniqueEmail |
Ruft einen Wert ab, der angibt, ob der SQL Server-Mitgliedschaftsanbieter so konfiguriert ist, dass eine eindeutige E-Mail-Adresse für jeden Benutzernamen erforderlich ist. |
Methoden
ChangePassword(String, String, String) |
Ändert das Kennwort eines Benutzers. |
ChangePasswordQuestionAndAnswer(String, String, String, String) |
Aktualisiert die Kennwortfrage und -antwort für einen Benutzer in der Mitgliedschaftsdatenbank von SQL Server. |
CreateUser(String, String, String, String, String, Boolean, Object, MembershipCreateStatus) |
Fügt der Mitgliedschaftsdatenbank von SQL Server einen neuen Benutzer hinzu. |
DecryptPassword(Byte[]) |
Entschlüsselt ein verschlüsseltes Kennwort. (Geerbt von MembershipProvider) |
DeleteUser(String, Boolean) |
Entfernt die Mitgliedschaftsinformationen eines Benutzers aus der Mitgliedschaftsdatenbank von SQL Server. |
EncryptPassword(Byte[]) |
Verschlüsselt ein Kennwort. (Geerbt von MembershipProvider) |
EncryptPassword(Byte[], MembershipPasswordCompatibilityMode) |
Verschlüsselt das angegebene Kennwort mithilfe des angegebenen Kennwortkompatibilitätsmodus. (Geerbt von MembershipProvider) |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
FindUsersByEmail(String, Int32, Int32, Int32) |
Gibt eine Auflistung der Mitgliedschaftsbenutzer zurück, für die das Adressfeld die angegebene E-Mail-Adresse enthält. |
FindUsersByName(String, Int32, Int32, Int32) |
Ruft eine Auflistung von Mitgliedschaftsbenutzern ab, deren Benutzername den angegebenen Vergleichsbenutzernamen enthält. |
GeneratePassword() |
Generiert nach dem Zufallsprinzip ein Kennwort mit einer Länge von mindestens 14 Zeichen. |
GetAllUsers(Int32, Int32, Int32) |
Ruft eine Auflistung aller Benutzer in der Mitgliedschaftsdatenbank von SQL Server ab. |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetNumberOfUsersOnline() |
Gibt die Anzahl der Benutzer zurück, die gegenwärtig auf die Anwendung zugreifen. |
GetPassword(String, String) |
Gibt das Kennwort für den angegebenen Benutzernamen aus der Mitgliedschaftsdatenbank von SQL Server zurück. |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
GetUser(Object, Boolean) |
Ruft die Informationen aus der Datenquelle für den Mitgliedschaftsbenutzer ab, der dem angegebenen eindeutigen Bezeichner zugeordnet ist, und aktualisiert gegebenenfalls den Datums-/Zeitstempel der letzten Aktivität des Benutzers. |
GetUser(String, Boolean) |
Gibt für einen Benutzer Informationen aus der Mitgliedschaftsdatenbank von SQL Server zurück und stellt eine Option zum Aktualisieren des Datums-/Zeitstempels der letzten Aktivität des Benutzers bereit. |
GetUserNameByEmail(String) |
Ruft den Benutzernamen ab, der der angegebenen E-Mail-Adresse zugeordnet ist. |
Initialize(String, NameValueCollection) |
Initialisiert den SQL Server-Mitgliedschaftsanbieter mit den Eigenschaftswerten, die in der Konfigurationsdatei der ASP.NET-Anwendung angegeben sind. Diese Methode ist nicht für die direkte Verwendung im Code vorgesehen. |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
OnValidatingPassword(ValidatePasswordEventArgs) |
Löst das ValidatingPassword-Ereignis aus, wenn ein Ereignishandler definiert wurde. (Geerbt von MembershipProvider) |
ResetPassword(String, String) |
Setzt das Kennwort eines Benutzers auf ein neues, automatisch generiertes Kennwort zurück. |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
UnlockUser(String) |
Hebt den Sperrstatus des Benutzers auf, sodass der Mitgliedschaftsbenutzer überprüft werden kann. |
UpdateUser(MembershipUser) |
Aktualisiert Informationen zu einem Benutzer in der Mitgliedschaftsdatenbank von SQL Server. |
ValidateUser(String, String) |
Überprüft, ob der angegebene Benutzername und das angegebene Kennwort in der Mitgliedschaftsdatenbank von SQL Server vorhanden sind. |
Ereignisse
ValidatingPassword |
Tritt auf, wenn ein Benutzer erstellt, ein Kennwort geändert oder ein Kennwort zurückgesetzt wird. (Geerbt von MembershipProvider) |