ActiveDirectoryMembershipProvider.CreateUser Methode
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.
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.
- 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.
Die CreateUser(String, String, String, String, String, Boolean, Object, MembershipCreateStatus)-Methode wird aufgerufen, bevor die ActiveDirectoryMembershipProvider-Instanz initialisiert wird.
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 userPrincipalName
wird. 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.