ActiveDirectoryMembershipProvider.ValidateUser(String, String) Método
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í.
Comprueba que el nombre de usuario y contraseña especificados existen en el almacén de datos de Active Directory.
public:
override bool ValidateUser(System::String ^ username, System::String ^ password);
public override bool ValidateUser (string username, string password);
override this.ValidateUser : string * string -> bool
Public Overrides Function ValidateUser (username As String, password As String) As Boolean
Parámetros
- username
- String
Nombre del usuario que se validará.
- password
- String
Contraseña del usuario especificado.
Devoluciones
true
si los parámetros username
y password
especificados son válidos; en caso contrario, false
. Si el usuario especificado no existe en el almacén de datos de Active Directory, el método ValidateUser(String, String) devuelve false
.
Excepciones
Se llama al método ValidateUser(String, String) antes de que se inicializa la instancia de ActiveDirectoryMembershipProvider.
Comentarios
La clase llama Membership a este método para validar las credenciales de usuario en el almacén de datos de Active Directory.
Si la EnablePasswordReset propiedad es true
y las credenciales proporcionadas son válidas, se restablecen los contadores de seguimiento del usuario para obtener respuestas de contraseña incorrectas.
El ValidateUser método puede devolver false
cuando se proporcionan las credenciales correctas, en las siguientes circunstancias:
El servidor de directorios bloqueó la cuenta de usuario debido a demasiados intentos de inicio de sesión erróneos. El usuario no podrá iniciar sesión hasta que pase la duración del bloqueo del directorio.
Si la EnablePasswordReset propiedad es
true
, la cuenta de usuario se bloqueará si el usuario proporcionó una respuesta de contraseña incorrecta demasiadas veces. La cuenta del usuario se desbloqueará una vez transcurrido el tiempo especificado en la PasswordAnswerAttemptLockoutDuration propiedad.El usuario debe existir en el contenedor especificado en la cadena de conexión. Las credenciales válidas se proporcionan para una cuenta de usuario ubicada en un contenedor diferente o en un dominio diferente. El usuario debe existir en el contenedor especificado en la cadena de conexión.
Al validar un usuario, el proveedor valida las credenciales mediante la conexión al almacén de datos de Active Directory mediante el nombre de usuario y la contraseña especificados, no las credenciales configuradas en el archivo de configuración de la aplicación.
Sin embargo, la ActiveDirectoryMembershipProvider instancia se conectará al directorio mediante las credenciales configuradas por los siguientes motivos.
Para confirmar que un usuario existe dentro del ámbito de búsqueda, determinado por la cadena de conexión de la ActiveDirectoryMembershipProvider instancia. El proveedor usa una búsqueda de subárbol que comienza en el punto de búsqueda especificado en la cadena de conexión para determinar si existe un usuario. El usuario debe existir en el contenedor especificado. No se validarán las credenciales válidas fuera del contenedor especificado de la cadena de conexión. Consulte el ActiveDirectoryMembershipProvider tema de la clase para obtener más información sobre las cadenas de conexión.
Si la EnablePasswordReset propiedad es
true
, la ActiveDirectoryMembershipProvider instancia usará las credenciales configuradas para cargar la instancia de usuario para comprobar si el usuario se ha bloqueado porque ha realizado demasiados intentos erróneos de cambiar la respuesta de contraseña.
Importante
La conexión a un controlador de dominio de Active Directory con la cuenta "Invitado" habilitada es una amenaza de seguridad potencial. Todos los intentos de validación realizados en un controlador de dominio de Active Directory con la cuenta "Invitado" habilitada se realizarán correctamente. Para mejorar la seguridad al usar un controlador de dominio de Active Directory, debe deshabilitar la cuenta "Invitado" en el controlador de dominio.
La ActiveDirectoryMembershipProvider instancia intentará un enlace simultáneo con Active Directory cuando se cumpla una de las condiciones siguientes:
La propiedad CurrentConnectionProtection está establecida en None.
La CurrentConnectionProtection propiedad se establece SignAndSeal en y la instancia elige ActiveDirectoryMembershipProvider SSL para proteger la conexión.
Además, para que se realice un enlace simultáneo, se deben cumplir las siguientes condiciones:
El servidor de directorios debe ejecutarse en Windows Server 2003.
El sistema operativo del servidor web que ejecuta la ActiveDirectoryMembershipProvider instancia debe admitir enlaces simultáneos (por ejemplo, Windows Server 2003).
Cuando se usa un enlace simultáneo, la última fecha de inicio de sesión del usuario no se actualiza en el directorio; por lo tanto, no se puede confiar en la LastLoginDate propiedad .
Los espacios iniciales y finales se recortan del username
parámetro .