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, не имеют прав администратора домена (не рекомендуется) или права доступа "сброс пароля".