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

Ответ пароля для указанного пользователя.

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

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

Исключения

Метод 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, чтобы задать новый пароль.

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

Комментарии

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

Замечание

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

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

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

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

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

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

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

Это важно

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

Чтобы сбросить пароль, все следующие условия должны иметь значение true:

  • Свойство EnablePasswordReset должно иметь значение true.

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

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

  • Свойство RequiresQuestionAndAnswer должно иметь значение true.

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

Замечание

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

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

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