ActiveDirectoryMembershipProvider.RequiresQuestionAndAnswer Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает значение, показывающее, настроен ли поставщик участия, чтобы запрашивать пароль при создании пользователя.
public:
virtual property bool RequiresQuestionAndAnswer { bool get(); };
public override bool RequiresQuestionAndAnswer { get; }
member this.RequiresQuestionAndAnswer : bool
Public Overrides ReadOnly Property RequiresQuestionAndAnswer As Boolean
Значение свойства
true
, если объект ActiveDirectoryMembershipProvider сконфигурирован требовать запрос-ответ пароля; в противном случае — false
. Значение по умолчанию — false
.
Исключения
Была предпринята попытка получить доступ к свойству RequiresQuestionAndAnswer до того, как экземпляр 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>
Комментарии
Свойство RequiresQuestionAndAnswer задается в файле конфигурации приложения с помощью requiresQuestionAndAnswer
атрибута элемента membership Element (ASP.NET Settings Schema). Если свойство не задано в файле конфигурации приложения, свойству RequiresQuestionAndAnswer присваивается значение false
по умолчанию .
requiresQuestionAndAnswer
Если атрибут имеет значение true
, необходимо также задать эти дополнительные атрибуты.
-
attributeMapPasswordQuestion
иattributeMapPasswordAnswer
должны сопоставляться с атрибутами в схеме Active Directory.
Если указанные выше критерии не выполняются, ProviderException при инициализации возникает исключение .
Примечание
При создании пользователя можно задать вопрос и ответ на пароль, но присвойте свойству EnablePasswordReset значение false
, чтобы запретить пользователям изменять свои пароли с помощью ActiveDirectoryMembershipProvider класса .