Поделиться через


ActiveDirectoryMembershipProvider.EnablePasswordReset Свойство

Определение

Возвращает значение, показывающее, настроен ли экземпляр ActiveDirectoryMembershipProvider на разрешение пользователям восстанавливать их пароли.

public:
 virtual property bool EnablePasswordReset { bool get(); };
public override bool EnablePasswordReset { get; }
member this.EnablePasswordReset : bool
Public Overrides ReadOnly Property EnablePasswordReset As Boolean

Значение свойства

true, если восстановление пароля разрешено; в противном случае — false. Значение по умолчанию — false.

Исключения

Была предпринята попытка получить доступ к свойству EnablePasswordReset до того, как экземпляр ActiveDirectoryMembershipProvider был инициализирован.

Примеры

В следующем примере кода показана запись Web.config, которая настраивает ActiveDirectoryMembershipProvider экземпляр для включения сброса пароля. В нем используются явные учетные данные пользователя с правом доступа на сброс пароля.

Важно!

Когда вы помещаете учетные данные пользователя в файл Web.config, возникают потенциальные угрозы безопасности. Пользователи с правами доступа к каталогу, в котором содержится файл Web.config, могут прочитать файл и, таким образом, просмотреть учетные данные. Дополнительные сведения о том, как защититься от этой угрозы, см. в разделе Шифрование сведений о конфигурации с помощью защищенной конфигурации.

<configuration>
  <connectionStrings>
    <add name="ADService" connectionString="LDAP://ldapServer/" />
  </connectionStrings>
  <system.web>
    <membership defaultProvider="AspNetActiveDirectoryMembershipProvider">
      <providers>
        <add name="AspNetActiveDirectoryMembershipProvider"
          type="System.Web.Security.ActiveDirectoryMembershipProvider,
          System.Web, Version=2.0.3600, Culture=neutral,
          PublicKeyToken=b03f5f7f11d50a3a"
          connectionUsername="UserWithResetPasswordRights"
          connectionPassword="PasswordForUser"
          enablePasswordReset="true"
          requiresQuestionAndAnswer="true"
          attributeMapPasswordQuestion="PasswordQuestionADAttribute"
          attributeMapPasswordAnswer="PasswordAnswerADAttribute"
          attributeMapFailedPasswordAnswerCount="AnswerCountADAttribute"
          attributeMapFailedPasswordAnswerTime="AnswerTimeADAttribute"
          attributeMapFailedPasswordAnswerLockoutTime="LockOutTimeADAttribute" />
      </providers>
    </membership>
  </system.web>
</configuration>

Комментарии

Свойство EnablePasswordReset указывает, можно ли использовать ResetPassword метод для сброса пароля пользователя. Свойство EnablePasswordReset задается в файле конфигурации приложения с помощью enablePasswordReset атрибута элемента membership Element (ASP.NET Settings Schema).

Свойство можно задать EnablePasswordReset только в том случае, если заданы следующие параметры элемента membership Element (ASP.NET Settings Schema).true

  • Аргумент requiresQuestionAndAnswer должен иметь значение true.

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

  • attributeMapPasswordQuestion, attributeMapPasswordAnswer, attributeMapFailedPasswordAnswerCount, attributeMapFailedPasswordAnswerTimeи attributeMapFailedPasswordAnswerLockoutTime должны быть сопоставлены с атрибутами в схеме Active Directory.

Если указанные выше критерии не выполняются, ProviderException при инициализации возникает исключение .

Если в строке подключения в файле конфигурации приложения указан домен Active Directory, а не конкретный сервер, ActiveDirectoryMembershipProvider экземпляр всегда будет подключаться к контроллеру домена с ролью основного контроллера домена для домена, чтобы изменения пароля вступили в силу и были доступны при вызове ValidateUser метода.

Примечание

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

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

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