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
Пароль для нового пользователя.
- 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(String, String, String, String, String, Boolean, Object, MembershipCreateStatus) вызывается до инициализации экземпляра 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 а не оставляет частично созданный экземпляр пользователя в каталоге.