ActiveDirectoryMembershipProvider.EnablePasswordReset Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene un valor que indica si la instancia de ActiveDirectoryMembershipProvider está configurada para permitir que los usuarios restablezcan sus contraseñas.
public:
virtual property bool EnablePasswordReset { bool get(); };
public override bool EnablePasswordReset { get; }
member this.EnablePasswordReset : bool
Public Overrides ReadOnly Property EnablePasswordReset As Boolean
Valor de propiedad
Es true
si se permite el restablecimiento de contraseña; de lo contrario, es false
. De manera predeterminada, es false
.
Excepciones
Se ha intentado obtener acceso a la propiedad EnablePasswordReset antes de inicializar la instancia de ActiveDirectoryMembershipProvider.
Ejemplos
En el ejemplo de código siguiente se muestra una entrada de Web.config que configura una ActiveDirectoryMembershipProvider instancia para habilitar los restablecimientos de contraseña. Usa las credenciales explícitas de un usuario según el derecho de acceso "restablecer contraseña".
Importante
Al colocar las credenciales de usuario en el archivo de Web.config, hay posibles amenazas de seguridad. Los usuarios con derechos de acceso al directorio que contiene el archivo Web.config pueden leer el archivo y, por tanto, ver las credenciales. Para obtener más información sobre cómo proteger contra esta amenaza, consulte Cifrado de información de configuración mediante la configuración protegida.
<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>
Comentarios
La EnablePasswordReset propiedad indica si puede usar el método para restablecer la ResetPassword contraseña de un usuario. La EnablePasswordReset propiedad se establece en el archivo de configuración de la aplicación mediante el enablePasswordReset
atributo del elemento membership Element (ASP.NET Settings Schema).
Solo se puede establecer la EnablePasswordReset propiedad true
cuando se ha realizado la siguiente configuración del elemento membership Element (ASP.NET Settings Schema).
requiresQuestionAndAnswer
debe sertrue
.El esquema de Active Directory debe modificarse para contener atributos para almacenar la pregunta y respuesta de contraseña, así como los tres campos de seguimiento para los intentos de cambio de respuesta a contraseña.
attributeMapPasswordQuestion
,attributeMapPasswordAnswer
,attributeMapFailedPasswordAnswerCount
,attributeMapFailedPasswordAnswerTime
yattributeMapFailedPasswordAnswerLockoutTime
deben asignarse a atributos en el esquema de Active Directory.
Si no se cumplen los criterios anteriores, se produce una ProviderException excepción en la inicialización.
Cuando la cadena de conexión del archivo de configuración de la aplicación especifica un dominio de Active Directory en lugar de un servidor específico, la ActiveDirectoryMembershipProvider instancia siempre se conectará al controlador de dominio que tiene el rol PDC para el dominio para asegurarse de que los cambios de contraseña surtan efecto y estén disponibles cuando ValidateUser se llame al método.
Nota
Incluso si la EnablePasswordReset propiedad es true
, no puede restablecer las contraseñas de usuario a menos que las credenciales usadas para conectarse al servidor de Active Directory tengan derechos de administrador de dominio (no recomendado) o el derecho de acceso "restablecer contraseña".