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, указывающее, был ли успешно создан пользователь.

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

MembershipUser

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

Исключения

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

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

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

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

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

Комментарии

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

Для серверов ActiveDirectoryMembershipProvider Active Directory и Active Directory Application Mode (ADAM) класс требует, чтобы класс экземпляра в каталоге был 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 разделе класса.

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

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

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

Важно!

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

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

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