ActiveDirectoryMembershipProvider.ResetPassword(String, String) ActiveDirectoryMembershipProvider.ResetPassword(String, String) ActiveDirectoryMembershipProvider.ResetPassword(String, String) ActiveDirectoryMembershipProvider.ResetPassword(String, String) Method

Definición

Restablece la contraseña de un usuario a una nueva generada automáticamente.Resets a user's password to a new, automatically generated password.

public:
 override System::String ^ ResetPassword(System::String ^ username, System::String ^ passwordAnswer);
public override string ResetPassword (string username, string passwordAnswer);
override this.ResetPassword : string * string -> string
Public Overrides Function ResetPassword (username As String, passwordAnswer As String) As String

Parámetros

username
String String String String

Usuario cuya contraseña se va a restablecer.The user to reset the password for.

passwordAnswer
String String String String

Respuesta de contraseña del usuario especificado.The password answer for the specified user.

Devoluciones

Nueva contraseña del usuario especificado.The new password for the specified user.

Excepciones

passwordAnswer es null.passwordAnswer is null.

O bien-or- username es null.username is null.

passwordAnswer está vacío después de recortarpasswordAnswer is empty after trimming O bien-or- passwordAnswer tiene más de 128 caracteres.passwordAnswer exceeds 128 characters.

O bien-or- username está vacío o supera la longitud máxima permitida para nombres de usuario (normalmente 256 caracteres).username is empty, or exceeds the maximum length allowed for user names (usually 256 characters).

O bien-or- username contiene comas.username contains commas.

O bien-or- El nombre de usuario está asignado a userPrincipalName pero el parámetro username contiene barras diagonales inversas.The user name is mapped to userPrincipalName but the username parameter contains backslashes.

Se ha bloqueado el usuario porque ha habido demasiados intentos de iniciar la sesión incorrectos o demasiados intentos de restablecimiento de respuesta de contraseña.The user is locked out because of too many bad logon attempts or too many attempted password-answer reset attempts.

O bien-or- passwordAnswer no coincide con la respuesta de contraseña almacenada.passwordAnswer does not match the stored password answer.

El usuario especificado en username no existe en el almacén de datos de Active Directory.The user specified in username does not exist in the Active Directory data store.

O bien-or- Una contraseña generada no pasa un controlador de validación personalizado.A generated password does not pass a custom validation handler.

O bien-or- La contraseña generada no es bastante compleja para satisfacer las directivas de contraseña personalizadas establecidas en el servidor Active Directory.The generated password is not complex enough to satisfy custom password policies set on the Active Directory server.

O bien-or- No se puede realizar una conexión segura con un servidor Active Directory Application Mode para establecer la nueva contraseña.A secure connection cannot be made to an Active Directory Application Mode server to set the new password.

Se produjo una excepción no controlada.An unhandled exception occurred.

Comentarios

Se llama al método el Membership valor generado de la clase para restablecer la contraseña de un usuario en el almacén de datos de Active Directory a un nuevo de forma aleatoria.The method is called by the Membership class to reset the password for a user in the Active Directory data store to a new randomly generated value. Se devuelve la nueva contraseña.The new password is returned.

Nota

La contraseña aleatoria creada por el ResetPassword no se garantiza que el método pasa la expresión regular en la PasswordStrengthRegularExpression propiedad.The random password created by the ResetPassword method is not guaranteed to pass the regular expression in the PasswordStrengthRegularExpression property. Sin embargo, la contraseña aleatoria cumplirá los criterios establecidos por la MinRequiredPasswordLength y MinRequiredNonAlphanumericCharacters propiedades.However, the random password will meet the criteria established by the MinRequiredPasswordLength and MinRequiredNonAlphanumericCharacters properties.

Si se proporciona una respuesta incorrecta a la ResetPassword método, el contador interno que realiza un seguimiento intentos de respuesta a la contraseña se incrementa en uno.If an incorrect answer is supplied to the ResetPassword method, the internal counter that tracks invalid password-answer attempts is incremented by one. Esto puede dar lugar al usuario que no se pueda iniciar sesión hasta que se borre el estado de bloqueo mediante una llamada a la UnlockUser método.This can result in the user being unable to log on until the lock status is cleared by a call to the UnlockUser method. Si se proporciona la respuesta de contraseña correcta y el usuario no está actualmente bloqueado, a continuación, el contador interno que realiza el seguimiento de intentos de contraseña no válida se restablece en cero.If the correct password answer is supplied and the user is not currently locked out, then the internal counter that tracks invalid password attempts is reset to zero. Para obtener más información, consulte el MaxInvalidPasswordAttempts y PasswordAttemptWindow propiedades.For more information, see the MaxInvalidPasswordAttempts and PasswordAttemptWindow properties.

Espacios iniciales y finales se recortan de todos los valores de parámetro.Leading and trailing spaces are trimmed from all parameter values.

Puede llamar a la ResetPassword método directamente por obtener primero una referencia a la ActiveDirectoryMembershipProvider instancia desde el Membership.Provider propiedad.You can call the ResetPassword method directly by first obtaining a reference to the ActiveDirectoryMembershipProvider instance from the Membership.Provider property.

El proveedor usa una búsqueda de subárbol comenzando en el punto de búsqueda especificado en la cadena de conexión.The provider uses a subtree search starting at the search point specified in the connection string. Vea el ActiveDirectoryMembershipProvider tema para obtener más información acerca de las cadenas de conexión de la clase.See the ActiveDirectoryMembershipProvider class topic for more information about connection strings.

Para establecer las contraseñas en un servidor de Active Directory, el connectionProtection atributo debe establecerse en SignAndSeal.To set passwords on an Active Directory server, the connectionProtection attribute must be set to SignAndSeal.

Cuando se usa un servidor ADAM, el connectionProtection atributo puede establecerse en None, pero solo si se configura explícitamente el servidor de ADAM para permitir el cambio de contraseña a través de conexiones no seguras.When using an ADAM server, the connectionProtection attribute can be set to None, but only if you explicitly configure the ADAM server to allow password changes over unsecured connections.

Importante

No se puede restablecer las contraseñas, a menos que las credenciales usadas para conectarse al servidor de Active Directory tienen derechos de administrador de dominio (no recomendados) o el derecho de acceso "restablecer contraseña".You cannot reset 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.

Para restablecer una contraseña, deben cumplirse todas las condiciones siguientes:To reset a password, all of the following conditions must be true:

  • El EnablePasswordReset propiedad debe establecerse en true.The EnablePasswordReset property must be set to true.

  • Se debe modificar el esquema de Active Directory para que contenga atributos para almacenar la pregunta de contraseña y respuesta, y cambios de la respuesta de los tres campos de seguimiento de la contraseña.The Active Directory schema must be modified to contain attributes for storing the password question and answer, and the three tracking fields for password answer changes.

  • El attributeMapPasswordQuestion, attributeMapPasswordAnswer, attributeMapFailedPasswordAnswerCount, attributeMapFailedPasswordAnswerTime, y attributeMapFailedPasswordAnswerLockedTime atributos deben establecerse en el archivo de configuración de la aplicación.The attributeMapPasswordQuestion, attributeMapPasswordAnswer, attributeMapFailedPasswordAnswerCount, attributeMapFailedPasswordAnswerTime, and attributeMapFailedPasswordAnswerLockedTime attributes must be set in the application configuration file.

  • El RequiresQuestionAndAnswer propiedad debe establecerse en true.The RequiresQuestionAndAnswer property must be set to true.

  • El contexto de seguridad para conectarse al almacén de datos de Active Directory (la cuenta de proceso o las credenciales explícitas) debe tener privilegios suficientes para cambiar las contraseñas.The security context for connecting to the Active Directory data store (either the process account or the explicit credentials) must have sufficient privileges to change passwords. Las credenciales usadas para conectarse al servidor de Active Directory tienen derechos de administrador de dominio (no recomendados) o el derecho de acceso "restablecer contraseña".The credentials used to connect to the Active Directory server have either Domain Administrator rights (not recommended) or the "reset password" access right.

Nota

Directivas de seguridad establecidas en el servidor de Active Directory pueden hacer que sea imposible la ResetPassword método para generar una contraseña que cumpla las directivas.Security policies set on the Active Directory server may make it impossible for the ResetPassword method to generate a password that satisfies the policies. La implementación predeterminada de la GeneratePassword método generará las contraseñas que cumplen las directivas de contraseñas predeterminada en los controladores de dominio que ejecute Windows Server 2003 SP1.The default implementation of the GeneratePassword method will generate passwords that satisfy the default password policies on domain controllers running Windows Server 2003 SP1. Si no se puede restablecer la contraseña debido a las directivas de seguridad en el servidor de Active Directory, un ProviderException se produce.If the password cannot be reset due to security policies on the Active Directory server, a ProviderException is thrown.

Se aplica a

Consulte también: