Поделиться через


ActiveDirectoryMembershipProvider.CreateUser Метод

Определение

Добавляет нового пользователя к хранилищу данных 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

Параметры

username
String

Имя пользователя для нового пользователя.

password
String

Пароль для нового пользователя.

email
String

Адрес электронной почты нового пользователя.

passwordQuestion
String

Вопрос пароля для нового пользователя.

passwordAnswer
String

Контрольный ответ для пароля нового пользователя.

isApproved
Boolean

Утвержден ли новый пользователь для проверки.

providerUserKey
Object

Уникальный идентификатор из источника данных членства для пользователя. Этот параметр должен равняться null при использовании класса ActiveDirectoryMembershipProvider.

status
MembershipCreateStatus

Результатом выполнения этого метода является одно из значений перечисления MembershipCreateStatus, указывающее, был ли успешно создан пользователь.

Возвращаемое значение

Экземпляр ActiveDirectoryMembershipUser, содержащий информацию о вновь созданном пользователе или значение null, если пользователь не был успешно создан.

Исключения

Параметр providerUserKey не является null.

Администратор не отобразил поля запроса-ответа пароля на атрибуты схемы Active Directory, и один из параметров passwordQuestion или passwordAnswer не равен null.

Элемент конфигурации machineKey (схема параметров ASP.NET) указывает автоматически созданный ключ шифрования компьютера. Необходимо явно установить атрибут decryptionKey элемента machineKey (схема параметров ASP.NET) для хранения ответов пароля с поставщиком ActiveDirectoryMembershipProvider.

-или-

Поставщик ActiveDirectoryMembershipProvider не смог установить безопасное подключение к каталогу, при попытке установить пароль для нового пользователя.

Произошла ошибка при попытке создания пользователя.

Комментарии

Метод CreateUser вызывается классом Membership для создания нового пользователя в хранилище данных Active Directory.

Для серверов Active Directory и Ad Directory Application Mode (ADAM) класс требует, ActiveDirectoryMembershipProvider чтобы класс экземпляра в каталоге был user. Альтернативные классы пользователей, такие как , inetOrgPerson не поддерживаются.

При использовании сервера Active Directory и сопоставлении имени пользователя с userPrincipalName атрибутом ActiveDirectoryMembershipProvider класс автоматически создает случайное 20-символьное имя пользователя для sAMAccountName параметра от вашего имени.

По умолчанию для параметров используется следующая максимальная длина.

Параметр Максимальная длина
username 64 символа при использовании атрибута userPrincipalName . При использовании атрибута sAMAccountName общее ограничение составляет не более 20 символов.
password 128 символов.
email 256 символов.
passwordQuestion 256 символов.
passwordAnswer 128 символов до и после шифрования.

Свойство Comment возвращаемого экземпляра ActiveDirectoryMembershipUser ограничено 1024 символами.

Если схема каталога была изменена путем сокращения максимально допустимой длины для этих атрибутов, эти длины будут иметь приоритет.

Перед созданием пользователя класс будет убедиться, ActiveDirectoryMembershipProvider что имя пользователя уникально. ActiveDirectoryMembershipProvider Если экземпляру настроено требование уникальных адресов электронной почты, он также обеспечит уникальность адреса электронной почты.

В Active Directory уникальность имени пользователя обеспечивается путем выполнения поиска сборки мусора при сопоставлении имени пользователя с userPrincipalName. Если sAMAccountName используется , каталог автоматически применяет уникальность в домене sAMAccountName Active Directory.

Сервер ADAM автоматически применяет уникальность имени пользователя во userPrincipalName всех разделах приложения.

Уникальность адреса электронной почты обеспечивается путем выполнения поддеревого поиска повторяющегося адреса электронной почты, начиная с корня контейнера, в котором создаются пользователи. Это либо контейнер пользователя по умолчанию (если он подключен к Active Directory и в строке подключения не указан контейнер), либо контейнер, указанный в строке подключения.

Класс ActiveDirectoryMembershipProvider создает пользователя непосредственно в контейнере пользователя, указанном в строке подключения. ActiveDirectoryMembershipProvider Дополнительные сведения о строках подключения см. в разделе о классах.

Для установки паролей на сервере Active Directory атрибуту connectionProtection необходимо задать значение SignAndSeal.

При использовании сервера ADAM атрибуту можно задать значение None, но только в том случае, connectionProtection если вы явно настроили сервер ADAM, чтобы разрешить изменение пароля через незащищенные подключения.

Начальные и конечные пробелы обрезаются из всех значений строковых параметров, кроме password.

Важно!

Вы не можете создавать новых пользователей, если учетные данные, используемые для подключения к серверу Active Directory, не имеют прав администратора домена (не рекомендуется) или "создать дочерний экземпляр", "удалить дочерний экземпляр" и "задать пароль". Право доступа "Удалить дочерний экземпляр" требуется, так как создание пользователя является многоэтапным процессом, и если какой-либо шаг создания пользователя завершается сбоем, класс удалит экземпляр пользователя, ActiveDirectoryMembershipProvider а не оставляет частично созданный экземпляр пользователя в каталоге.

Применяется к

См. также раздел