Język

ActiveDirectoryMembershipProvider.CreateUser Metoda

Definicja

Dodaje nowego użytkownika do magazynu danych usługi Active Directory.

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

Parametry

username
String

Nazwa użytkownika dla nowego użytkownika.

password
String

Hasło dla nowego użytkownika.

email
String

Adres e-mail nowego użytkownika.

passwordQuestion
String

Pytanie dotyczące hasła dla nowego użytkownika.

passwordAnswer
String

Odpowiedź na hasło dla nowego użytkownika.

isApproved
Boolean

Czy nowy użytkownik zostanie zatwierdzony do zweryfikowania.

providerUserKey
Object

Unikatowy identyfikator ze źródła danych członkostwa dla użytkownika. Ten parametr musi być null używany podczas korzystania z ActiveDirectoryMembershipProvider klasy .

status
MembershipCreateStatus

Gdy ta metoda zostanie zwrócona, zawiera jedną z MembershipCreateStatus wartości wyliczenia wskazujących, czy użytkownik został pomyślnie utworzony.

Zwraca

Wystąpienie ActiveDirectoryMembershipUser zawierające informacje dla nowo utworzonego użytkownika lub null jeśli użytkownik nie został pomyślnie utworzony.

Wyjątki

Parametr providerUserKey nie nullma wartości .

Administrator nie zamapował pól pytania i odpowiedzi haseł na atrybuty schematu usługi Active Directory, a passwordQuestion parametr or passwordAnswer nie nulljest .

Element konfiguracji machineKey (ASP.NET Settings Schema) wskazuje automatycznie wygenerowany klucz szyfrowania maszyny. Należy jawnie ustawić decryptionKey atrybut elementu machineKey (ASP.NET Settings Schema) w celu przechowywania odpowiedzi na hasła za pomocą elementu ActiveDirectoryMembershipProvider.

— lub —

Nie ActiveDirectoryMembershipProvider można nawiązać bezpiecznego połączenia z katalogiem podczas próby ustawienia hasła dla nowego użytkownika.

Wystąpił błąd podczas próby utworzenia użytkownika.

Uwagi

Metoda CreateUser jest wywoływana przez klasę Membership w celu utworzenia nowego użytkownika w magazynie danych usługi Active Directory.

W przypadku serwerów ActiveDirectoryMembershipProvider usługi Active Directory i trybu aplikacji usługi Active Directory (ADAM) klasa wymaga klasy wystąpienia w katalogu .user Alternatywne klasy użytkowników, takie jak inetOrgPerson nie są obsługiwane.

Jeśli używasz serwera usługi Active Directory i nazwa użytkownika jest mapowana na userPrincipalName atrybut, ActiveDirectoryMembershipProvider klasa automatycznie wygeneruje losową nazwę użytkownika 20 znaków dla parametru sAMAccountName w Twoim imieniu.

Domyślnie parametry mają następującą maksymalną długość.

Parametr Długość maksymalna
username 64 znaki w przypadku używania atrybutu userPrincipalName . W przypadku używania atrybutu sAMAccountName typowe ograniczenie to 20 znaków lub mniej.
password 128 znaków.
email 256 znaków.
passwordQuestion 256 znaków.
passwordAnswer 128 znaków przed szyfrowaniem i po nim.

Właściwość Comment zwróconego ActiveDirectoryMembershipUser wystąpienia jest ograniczona do 1024 znaków.

Jeśli schemat katalogu został zmodyfikowany przez zmniejszenie maksymalnej dozwolonej długości tych atrybutów, te długości będą miały pierwszeństwo.

Przed utworzeniem użytkownika klasa będzie mieć pewność, ActiveDirectoryMembershipProvider że nazwa użytkownika jest unikatowa. ActiveDirectoryMembershipProvider Jeśli wystąpienie jest skonfigurowane tak, aby wymagać unikatowych adresów e-mail, upewnij się również, że adres e-mail jest unikatowy.

W usłudze Active Directory unikatowość nazwy użytkownika jest wymuszana przez wykonanie wyszukiwania GC, gdy nazwa użytkownika jest mapowana na userPrincipalName. Jeśli sAMAccountName jest używany, katalog automatycznie wymusi unikatowość sAMAccountName w domenie usługi Active Directory.

Serwer ADAM automatycznie wymusza unikatowość userPrincipalName nazw użytkowników we wszystkich partycjach aplikacji.

Unikatowość adresu e-mail jest wymuszana przez wyszukiwanie poddrzewa podduplikowanego adresu e-mail rozpoczynającego się od katalogu głównego kontenera, w którym są tworzone użytkownicy. Jest to domyślny kontener użytkownika (jeśli jest połączony z usługą Active Directory i nie określono kontenera w parametrach połączenia) lub kontener określony w parametrach połączenia.

Klasa ActiveDirectoryMembershipProvider tworzy użytkownika bezpośrednio w kontenerze użytkownika określonym w parametrach połączenia. ActiveDirectoryMembershipProvider Zobacz temat klasy, aby uzyskać więcej informacji na temat parametrów połączenia.

Aby hasła można było ustawić na serwerze usługi Active Directory, connectionProtection atrybut musi być ustawiony na SignAndSealwartość .

Gdy używany jest serwer ADAM, connectionProtection atrybut można ustawić na None, ale tylko wtedy, gdy jawnie skonfigurujesz serwer ADAM, aby zezwolić na zmiany haseł za pośrednictwem niezabezpieczonych połączeń.

Spacje wiodące i końcowe są przycinane ze wszystkich wartości parametrów ciągu z wyjątkiem password.

Ważna

Nie można utworzyć nowych użytkowników, chyba że poświadczenia używane do nawiązywania połączenia z serwerem usługi Active Directory mają uprawnienia administratora domeny (niezalecane) lub "utwórz wystąpienie podrzędne", "usuń wystąpienie podrzędne" i "ustaw hasło" prawa dostępu. Prawo dostępu "usuń wystąpienie podrzędne" jest wymagane, ponieważ utworzenie użytkownika jest procesem wieloetapowym, a jeśli dowolny krok tworzenia użytkownika zakończy się niepowodzeniem, klasa usunie wystąpienie użytkownika, ActiveDirectoryMembershipProvider a nie pozostawi częściowo skonstruowanego wystąpienia użytkownika w katalogu.

Dotyczy

Zobacz też