ActiveDirectoryMembershipProvider.EnablePasswordReset Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets a value indicating whether the ActiveDirectoryMembershipProvider instance is configured to allow users to reset their passwords.
public:
virtual property bool EnablePasswordReset { bool get(); };
public override bool EnablePasswordReset { get; }
member this.EnablePasswordReset : bool
Public Overrides ReadOnly Property EnablePasswordReset As Boolean
Property Value
true
if password reset is allowed; otherwise, false
. The default is false
.
Exceptions
An attempt to access the EnablePasswordReset 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 EnablePasswordReset property indicates whether you can use the ResetPassword method to reset a user's password. The EnablePasswordReset property is set in your application's configuration file using the enablePasswordReset
attribute of the membership Element (ASP.NET Settings Schema) element.
You can only set the EnablePasswordReset property true
when the following membership Element (ASP.NET Settings Schema) element settings have been made.
requiresQuestionAndAnswer
must betrue
.The Active Directory schema must be modified to contain attributes for storing the password question and answer, as well as the three tracking fields for password-answer change attempts.
attributeMapPasswordQuestion
,attributeMapPasswordAnswer
,attributeMapFailedPasswordAnswerCount
,attributeMapFailedPasswordAnswerTime
, andattributeMapFailedPasswordAnswerLockoutTime
must be mapped to attributes in the Active Directory schema.
If the above criteria are not met, a ProviderException is thrown at initialization.
When the connection string in the application configuration file specifies an Active Directory domain rather than a specific server, the ActiveDirectoryMembershipProvider instance will always connect to the domain controller that has the PDC role for the domain to ensure that password changes take effect and are available when the ValidateUser method is called.
Note
Even if the EnablePasswordReset property is true
, you cannot reset user passwords unless the credentials used to connect to the Active Directory server have either Domain Administrator rights (not recommended) or the "reset password" access right.