This documentation is archived and is not being maintained.

Membership.RequiresQuestionAndAnswer Property

Gets a value indicating whether the default membership provider requires the user to answer a password question for password reset and retrieval.

Namespace:  System.Web.Security
Assembly:  System.Web (in System.Web.dll)

static member RequiresQuestionAndAnswer : bool

Property Value

Type: System.Boolean
true if a password answer is required for password reset and retrieval; otherwise, false.

Requiring a password question and answer provides an additional layer of security when retrieving or resetting a user's password. Users can supply a question and answer when their user name is created that they can later use to retrieve or reset a forgotten password.

RequiresQuestionAndAnswer is checked when ResetPassword or GetPassword is called. The provider provided with the .NET Framework throws a NotSupportedException if RequiresQuestionAndAnswer is true and the supplied password answer is a null reference (Nothing in Visual Basic).

If EnablePasswordReset and EnablePasswordRetrieval are both false, RequiresQuestionAndAnswer can still be used to enforce the creation of questions and answers when new users are created; however, the question and answer will not be used. You will be able to retrieve the question by using the MembershipUser class.

For more information, see ResetPassword and GetPassword.

The following code example shows the membership element in the system.web section of the Web.config file for an ASP.NET application. It specifies that the application use an instance of the SqlMembershipProvider, enables password reset, and requires a password answer when performing a reset.

<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">
    <add name="SqlProvider"
      applicationName="MyApplication" />

The following code sample checks the value of RequiresQuestionAndAnswer and adds the necessary controls for a password question and answer to be supplied when creating a user.

Security noteSecurity Note

This example includes a text box that accepts user input, which is a potential security threat. By default, ASP.NET Web pages validate that user input does not include script or HTML elements. For more information, see Script Exploits Overview.

No code example is currently available or this language may not be supported.

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.