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

MembershipUser

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 Active Directory-Anwendungsmodusserver (ADAM) erfordert die ActiveDirectoryMembershipProvider Klasse, dass die Instanzklasse im Verzeichnis sein muss user. Alternative Benutzerklassen, z inetOrgPerson . B. 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-Zeichen-Benutzernamen für den sAMAccountName Parameter in Ihrem Auftrag.

Parameter sind standardmäßig für die folgenden maximalen Längen festgelegt.

Parameter Maximale Länge
username 64 Zeichen, wenn das userPrincipalName Attribut verwendet wird. Wenn Sie das sAMAccountName Attribut verwenden, beträgt die allgemeine Einschränkung 20 Zeichen oder weniger.
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 werden, haben diese Längen Vorrang.

Bevor Sie den Benutzer erstellen, 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 userPrincipalNamewird. Wenn sAMAccountName sie verwendet wird, erzwingt das Verzeichnis automatisch die Eindeutigkeit der sAMAccountName gesamten Active Directory-Domäne.

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

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

Die ActiveDirectoryMembershipProvider Klasse erstellt den Benutzer direkt im in der Verbindungszeichenfolge angegebenen Benutzercontainer. Weitere Informationen zu Verbindungszeichenfolgen finden Sie im ActiveDirectoryMembershipProvider Klassenthema.

Damit Kennwörter auf einem Active Directory-Server festgelegt werden, muss das connectionProtection Attribut auf SignAndSeal" festgelegt werden.

Wenn ein ADAM-Server verwendet wird, kann das connectionProtection Attribut auf festgelegt Nonewerden, aber nur, wenn Sie den ADAM-Server explizit so konfigurieren, dass Kennwortänderungen über unsichere Verbindungen zulässig sind.

Führende und nachfolgende Leerzeichen werden von allen Zeichenfolgenparameterwerten abgeschnitten, außer password.

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 die Zugriffsberechtigungen "untergeordnete Instanz erstellen", "untergeordnete Instanz löschen" und "Kennwort festlegen". Der Zugriffsrecht "untergeordnete Instanz löschen" ist erforderlich, da das Erstellen eines Benutzers ein mehrstufiger Prozess ist, und wenn ein Schritt der Benutzererstellung fehlschlägt, löscht die ActiveDirectoryMembershipProvider Klasse die Benutzerinstanz, anstatt eine teilweise konstruierte Benutzerinstanz im Verzeichnis zu verlassen.

Gilt für

Siehe auch