ActiveDirectoryMembershipProvider.ResetPassword(String, String) Метод

Определение

Сбрасывает пароль пользователя и устанавливает новый, автоматически сгенерированный пароль.

public:
 override System::String ^ ResetPassword(System::String ^ username, System::String ^ passwordAnswer);
public override string ResetPassword (string username, string passwordAnswer);
override this.ResetPassword : string * string -> string
Public Overrides Function ResetPassword (username As String, passwordAnswer As String) As String

Параметры

username
String

Пользователь, чей пароль требуется сбросить.

passwordAnswer
String

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

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

String

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

Исключения

Метод ResetPassword(String, String) вызывается до инициализации экземпляра ActiveDirectoryMembershipProvider.

Значение свойства EnablePasswordReset равно false.

passwordAnswer имеет значение null.

-или- username имеет значение null.

После удаления пробелов параметр passwordAnswer пустой. -или- Длина параметра passwordAnswer превышает 128 символов.

-или- Параметр username пустой, или превышает максимальную разрешенную длину имени пользователя (обычно 256 символов).

-или- username содержит запятые.

-или- Имя пользователя отображается на атрибут userPrincipalName, но параметр username содержит обратные косые черты.

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

-или- Параметр passwordAnswer не соответствует хранимому ответу пароля.

Пользователь, указанный в параметре username, отсутствует в хранилище данных Active Directory.

-или- Сгенерированный пароль не проходит пользователь обработчик проверки.

-или- Сгенерированный пароль не достаточно сложен для удовлетворения пользовательской политики паролей, установленной на сервере Active Directory.

-или- Нельзя создать безопасное подключение к серверу Active Directory Application Mode для установки нового пароля.

Произошло необработанное исключение.

Комментарии

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

Примечание

Случайный пароль, созданный методом ResetPassword , не гарантирует передачу регулярного выражения в PasswordStrengthRegularExpression свойство. Однако случайный пароль будет соответствовать критериям, установленным и MinRequiredNonAlphanumericCharacters свойствамMinRequiredPasswordLength.

Если методу предоставлен ResetPassword неправильный ответ, внутренний счетчик, который отслеживает недопустимые попытки ответа на пароль, увеличивается на один. Это может привести к тому, что пользователь не сможет войти в систему, пока состояние блокировки не будет очищено вызовом UnlockUser метода. Если указан правильный ответ на пароль и пользователь в данный момент не заблокирован, внутренний счетчик, который отслеживает недопустимые попытки пароля, сбрасывается до нуля. Дополнительные сведения см. в описаниях свойств MaxInvalidPasswordAttempts и PasswordAttemptWindow.

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

Метод можно вызвать ResetPassword напрямую, сначала получив ссылку на ActiveDirectoryMembershipProvider экземпляр из Membership.Provider свойства.

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

Чтобы задать пароли на сервере Active Directory, connectionProtection атрибут должен иметь значение SignAndSeal.

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

Важно!

Нельзя сбрасывать пароли, если учетные данные, используемые для подключения к серверу Active Directory, имеют права администратора домена (не рекомендуется) или права доступа "Сброс пароля".

Чтобы сбросить пароль, необходимо выполнить все указанные ниже условия.

  • Для свойства EnablePasswordReset должно быть установлено значение true.

  • Схема Active Directory должна быть изменена, чтобы она содержала атрибуты для хранения вопроса и ответа на пароль, а также три поля отслеживания изменений ответа на пароль.

  • В attributeMapPasswordQuestionфайле конфигурации приложения должны быть заданы атрибуты , и attributeMapFailedPasswordAnswerCount``attributeMapFailedPasswordAnswerTime``attributeMapFailedPasswordAnswerLockedTime атрибуты. attributeMapPasswordAnswer

  • Для свойства RequiresQuestionAndAnswer должно быть установлено значение true.

  • Контекст безопасности для подключения к хранилищу данных Active Directory (учетная запись процесса или явные учетные данные) должен иметь достаточные права для изменения паролей. Учетные данные, используемые для подключения к серверу Active Directory, имеют права администратора домена (не рекомендуется) или права доступа "Сброс пароля".

Примечание

Политики безопасности, заданные на сервере Active Directory, могут сделать невозможным создание ResetPassword пароля, удовлетворяющего политикам. Реализация GeneratePassword метода по умолчанию создаст пароли, удовлетворяющие политикам паролей по умолчанию на контроллерах домена под управлением Windows Server 2003 с пакетом обновления 1 (SP1). Если не удается сбросить пароль из-за политик безопасности на сервере Active Directory, ProviderException возникает исключение.

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

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