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 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 null
jest .
Administrator nie zamapował pól zapytania i odpowiedzi haseł na atrybuty schematu usługi Active Directory, a passwordQuestion
parametr or passwordAnswer
nie null
jest .
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.
Metoda jest wywoływana CreateUser(String, String, String, String, String, Boolean, Object, MembershipCreateStatus) przed zainicjowanym wystąpieniem ActiveDirectoryMembershipProvider .
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.