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.
Для серверов 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 а не оставляет частично созданный экземпляр пользователя в каталоге.