Udostępnij za pośrednictwem


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 o hasło dla nowego użytkownika.

passwordAnswer
String

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

isApproved
Boolean

Niezależnie od tego, 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 w ActiveDirectoryMembershipProvider klasie .

status
MembershipCreateStatus

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

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 nulljest .

Administrator nie zamapował pól zapytania 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), aby przechowywać 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 jest wywoływana CreateUser przez klasę w Membership celu utworzenia nowego użytkownika w magazynie danych usługi Active Directory.

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

W przypadku używania serwera usługi Active Directory i nazwy użytkownika jest mapowana na userPrincipalName atrybut, ActiveDirectoryMembershipProvider klasa automatycznie wygeneruje losową 20-znakową nazwę użytkownika parametru sAMAccountName w Twoim imieniu.

Parametry domyślne dla następujących maksymalnych długości.

Parametr Maksymalna długość
username 64 znaki, jeśli używa atrybutu userPrincipalName . Jeśli używasz atrybutu sAMAccountName , typowym ograniczeniem jest 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 upewni się, 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 żaden kontener nie został określony 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. Zobacz temat klasy, ActiveDirectoryMembershipProvider 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ł w niezabezpieczonych połączeniach.

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

Ważne

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ą prawa administratora domeny (niezalecane) lub "utwórz wystąpienie podrzędne", "usuń wystąpienie podrzędne" i "ustaw hasło". Prawo dostępu "usuń wystąpienie podrzędne" jest wymagane, ponieważ utworzenie użytkownika jest procesem wieloetapowym, a jeśli jakikolwiek 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ż