Compartir a través de


ActiveDirectoryMembershipProvider.EnablePasswordReset Propiedad

Definición

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 ser true.

  • 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, attributeMapFailedPasswordAnswerTimey attributeMapFailedPasswordAnswerLockoutTime 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".

Se aplica a

Consulte también