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 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 userPrincipalName
ist. 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 password
gekü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.