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 (ASP.NET Параметры Schema).
Свойство можно задать EnablePasswordReset true
только в том случае, если были установлены следующие параметры элемента членства (ASP.NET Параметры schema).
Аргумент
requiresQuestionAndAnswer
должен иметь значениеtrue
.Схему Active Directory необходимо изменить, чтобы она содержала атрибуты для хранения вопроса и ответа на пароль, а также трех полей отслеживания попыток изменения пароля.
attributeMapPasswordQuestion
,attributeMapPasswordAnswer
,attributeMapFailedPasswordAnswerCount
,attributeMapFailedPasswordAnswerTime
иattributeMapFailedPasswordAnswerLockoutTime
должны быть сопоставлены с атрибутами в схеме Active Directory.
Если указанные выше критерии не выполнены, создается ProviderException исключение при инициализации.
Если строка подключения в файле конфигурации приложения указывает домен Active Directory, а не конкретный сервер, ActiveDirectoryMembershipProvider экземпляр всегда будет подключаться к контроллеру домена с ролью PDC для домена, чтобы изменения пароля вступили в силу и доступны при вызове ValidateUser метода.
Примечание
Даже если свойство EnablePasswordReset задано true
, нельзя сбрасывать пароли пользователей, если только учетные данные, используемые для подключения к серверу Active Directory, имеют права администратора домена (не рекомендуется) или права доступа "Сброс пароля".