ActiveDirectoryMembershipProvider.CreateUser Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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.
- 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.
Metoda jest wywoływana CreateUser(String, String, String, String, String, Boolean, Object, MembershipCreateStatus) przed zainicjowanym wystąpieniem ActiveDirectoryMembershipProvider .
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.