Freigeben über


ActiveDirectoryMembershipProvider.CreateUser Methode

Definition

Fügt dem Active Directory-Datenspeicher einen neuen Benutzer hinzu.

public:
 override System::Web::Security::MembershipUser ^ CreateUser(System::String ^ username, System::String ^ password, System::String ^ email, System::String ^ passwordQuestion, System::String ^ passwordAnswer, bool isApproved, System::Object ^ providerUserKey, [Runtime::InteropServices::Out] System::Web::Security::MembershipCreateStatus % status);
public override System.Web.Security.MembershipUser CreateUser (string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out System.Web.Security.MembershipCreateStatus status);
override this.CreateUser : string * string * string * string * string * bool * obj * MembershipCreateStatus -> System.Web.Security.MembershipUser
Public Overrides Function CreateUser (username As String, password As String, email As String, passwordQuestion As String, passwordAnswer As String, isApproved As Boolean, providerUserKey As Object, ByRef status As MembershipCreateStatus) As MembershipUser

Parameter

username
String

Der Benutzername für den neuen Benutzer.

password
String

Das Kennwort für den neuen Benutzer.

email
String

Die E-Mail-Adresse des neuen Benutzers.

passwordQuestion
String

Die Kennwortfrage für den neuen Benutzer.

passwordAnswer
String

Die Kennwortantwort für den neuen Benutzer.

isApproved
Boolean

Gibt an, ob der neue Benutzer zur Überprüfung genehmigt ist.

providerUserKey
Object

Der eindeutige Bezeichner aus der Mitgliedschaftsdatenquelle für den Benutzer. Dieser Parameter muss null sein, wenn die ActiveDirectoryMembershipProvider-Klasse verwendet wird.

status
MembershipCreateStatus

Diese Methode gibt einen der MembershipCreateStatus-Enumerationswerte zurück, der angibt, ob der Benutzer erfolgreich erstellt wurde.

Gibt zurück

Eine ActiveDirectoryMembershipUser-Instanz, die die Informationen für den neu erstellten Benutzer enthält, oder null, wenn der Benutzer nicht erfolgreich erstellt werden konnte.

Ausnahmen

Der providerUserKey-Parameter ist nicht null.

Eine Zuordnung der Felder für Kennwortfrage und -antwort zu Attributen des Active Directory-Schemas durch den Administrator ist nicht erfolgt, und entweder der passwordQuestion-Parameter oder der passwordAnswer-Parameter ist nicht null.

Das machineKey-Element (ASP.NET Einstellungsschema)-Konfigurationselement gibt einen automatisch generierten Computerverschlüsselungsschlüssel an. Sie müssen das decryptionKey-Attribut des machineKey-Element (ASP.NET Einstellungsschema)-Elements explizit festlegen, um Kennwortantworten mit dem ActiveDirectoryMembershipProvider zu speichern.

- oder -

Der ActiveDirectoryMembershipProvider konnte bei dem Versuch, das Kennwort für den neuen Benutzer festzulegen, keine sichere Verbindung zum Verzeichnis herstellen.

Beim Erstellen des Benutzers ist ein Fehler aufgetreten.

Hinweise

Die CreateUser -Methode wird von der Membership -Klasse aufgerufen, um einen neuen Benutzer im Active Directory-Datenspeicher zu erstellen.

Für Active Directory- und ADAM-Server (Active Directory Application Mode) erfordert die ActiveDirectoryMembershipProvider -Klasse, dass die Instanzklasse im Verzeichnis ist user. Alternative Benutzerklassen wie inetOrgPerson werden nicht unterstützt.

Wenn Sie einen Active Directory-Server verwenden und der Benutzername dem userPrincipalName Attribut zugeordnet ist, generiert die ActiveDirectoryMembershipProvider Klasse automatisch einen zufälligen 20-stelligen Benutzernamen für den sAMAccountName Parameter in Ihrem Namen.

Parameter sind standardmäßig auf die folgenden maximalen Längen festgelegt.

Parameter Maximale Länge
username 64 Zeichen bei Verwendung des Attributs userPrincipalName . Wenn Sie das sAMAccountName -Attribut verwenden, beträgt die allgemeine Einschränkung weniger als 20 Zeichen.
password 128 Zeichen.
email 256 Zeichen.
passwordQuestion 256 Zeichen.
passwordAnswer 128 Zeichen vor und nach der Verschlüsselung.

Die Comment Eigenschaft für die zurückgegebene ActiveDirectoryMembershipUser Instanz ist auf 1024 Zeichen beschränkt.

Wenn das Verzeichnisschema geändert wurde, indem die maximal zulässigen Längen für diese Attribute reduziert wurden, haben diese Längen Vorrang.

Vor dem Erstellen des Benutzers stellt die ActiveDirectoryMembershipProvider Klasse sicher, dass der Benutzername eindeutig ist. Wenn die ActiveDirectoryMembershipProvider Instanz so konfiguriert ist, dass eindeutige E-Mail-Adressen erforderlich sind, wird auch sichergestellt, dass die E-Mail-Adresse eindeutig ist.

In einem Active Directory-Benutzernamen wird die Eindeutigkeit erzwungen, indem eine GC-Suche ausgeführt wird, wenn der Benutzername zugeordnet userPrincipalNameist. Wenn sAMAccountName verwendet wird, erzwingt das Verzeichnis automatisch die Eindeutigkeit von in sAMAccountName der Active Directory-Domäne.

Ein ADAM-Server erzwingt automatisch die userPrincipalName Eindeutigkeit des Benutzernamens für alle Anwendungspartitionen.

Die Eindeutigkeit der E-Mail-Adresse wird erzwungen, indem eine Unterstruktursuche nach einer doppelten E-Mail-Adresse ab dem Stamm des Containers ausgeführt wird, in dem Benutzer erstellt werden. Dies ist entweder der Standardbenutzercontainer (wenn mit einem Active Directory verbunden ist und kein Container in der Verbindungszeichenfolge angegeben wurde) oder der in der Verbindungszeichenfolge angegebene Container.

Die ActiveDirectoryMembershipProvider -Klasse erstellt den Benutzer direkt in dem Benutzercontainer, der in der Verbindungszeichenfolge angegeben ist. Weitere Informationen zu Verbindungszeichenfolgen finden Sie im ActiveDirectoryMembershipProvider Klassenthema.

Damit Kennwörter auf einem Active Directory-Server festgelegt werden können, muss das connectionProtection Attribut auf SignAndSealfestgelegt werden.

Wenn ein ADAM-Server verwendet wird, kann das connectionProtection Attribut auf Nonefestgelegt werden, aber nur, wenn Sie den ADAM-Server explizit so konfigurieren, dass Kennwortänderungen über ungesicherte Verbindungen zugelassen werden.

Führende und nachfolgende Leerzeichen werden auf alle Zeichenfolgenparameterwerte mit Ausnahme passwordgekürzt.

Wichtig

Sie können keine neuen Benutzer erstellen, es sei denn, die Anmeldeinformationen, die zum Herstellen einer Verbindung mit dem Active Directory-Server verwendet werden, verfügen entweder über Domänenadministratorrechte (nicht empfohlen) oder über die Zugriffsrechte "Untergeordnete Instanz erstellen", "untergeordnete Instanz löschen" und "Kennwort festlegen". Das Zugriffsrecht "untergeordnete Instanz löschen" ist erforderlich, da das Erstellen eines Benutzers ein mehrstufiger Prozess ist. Wenn ein Schritt der Benutzererstellung fehlschlägt, löscht die ActiveDirectoryMembershipProvider Klasse die Benutzerinstanz, anstatt eine teilweise erstellte Benutzerinstanz im Verzeichnis zu lassen.

Gilt für:

Weitere Informationen