Edit

Share via


ActiveDirectoryMembershipProvider.RequiresQuestionAndAnswer Property

Definition

Gets a value indicating whether the membership provider is configured to require a password question and answer when creating a user.

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

Property Value

true if the ActiveDirectoryMembershipProvider object is configured to require a password question and answer for a user; otherwise, false. The default is false.

Exceptions

An attempt to access the RequiresQuestionAndAnswer property was made before the ActiveDirectoryMembershipProvider instance was initialized.

Examples

The following code example shows a Web.config entry that configures an ActiveDirectoryMembershipProvider instance to enable password resets. It uses the explicit credentials of a user given the "reset password" access right.

Important

When you place user credentials in your Web.config file, there are potential security threats. Users with access rights to the directory containing the Web.config file can read the file, and thus see the credentials. For details on how to protect against this threat, see Encrypting Configuration Information Using Protected Configuration.

<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>

Remarks

The RequiresQuestionAndAnswer property is set in your application's configuration file using the requiresQuestionAndAnswer attribute of the membership Element (ASP.NET Settings Schema) element. If the property is not set in the application's configuration file, the RequiresQuestionAndAnswer property is set to the default value of false.

When the requiresQuestionAndAnswer attribute is set to true, you must also set these additional attributes.

  • attributeMapPasswordQuestion and attributeMapPasswordAnswer must be mapped to attributes in the Active Directory schema.

If the above criteria are not met, a ProviderException is thrown at initialization.

Note

You can require a password question and answer when creating a user, but set the EnablePasswordReset property to false to prevent users from changing their passwords using the ActiveDirectoryMembershipProvider class.

Applies to

See also