ActiveDirectoryMembershipProvider.ValidateUser(String, String) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Verifica se o nome de usuário especificado e a senha existem no armazenamento de dados do 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
O nome do usuário a ser validado.
- password
- String
A senha do usuário especificado.
Retornos
true
se username
e password
especificados são válidos; caso contrário, false
. Se o usuário especificado não existe no armazenamento de dados do Active Directory, o método ValidateUser(String, String) retorna false
.
Exceções
O método ValidateUser(String, String) é chamado antes que a instância ActiveDirectoryMembershipProvider seja inicializada.
Comentários
Esse método é chamado pela Membership classe para validar as credenciais do usuário no armazenamento de dados do Active Directory.
Se a EnablePasswordReset propriedade for true
e as credenciais fornecidas forem válidas, os contadores de acompanhamento do usuário para respostas de senha incorretas serão redefinidos.
O ValidateUser método pode retornar false
quando as credenciais corretas forem fornecidas, nas seguintes circunstâncias:
A conta de usuário foi bloqueada pelo servidor de diretório devido a muitas tentativas de logon com falha. O usuário não poderá fazer logon até que a duração do bloqueio do diretório seja aprovada.
Se a EnablePasswordReset propriedade for
true
, a conta de usuário será bloqueada se o usuário tiver fornecido uma resposta de senha incorreta muitas vezes. A conta do usuário será desbloqueada após o tempo especificado na PasswordAnswerAttemptLockoutDuration propriedade ter passado.O usuário deve existir no contêiner especificado na cadeia de conexão. Credenciais válidas são fornecidas para uma conta de usuário localizada em um contêiner diferente ou em um domínio diferente. O usuário deve existir no contêiner especificado na cadeia de conexão.
Ao validar um usuário, o provedor valida as credenciais conectando-se ao armazenamento de dados do Active Directory usando o nome de usuário e a senha especificados, não as credenciais configuradas no arquivo de configuração do aplicativo.
No entanto, a ActiveDirectoryMembershipProvider instância se conectará ao diretório usando as credenciais configuradas pelos seguintes motivos.
Para confirmar se um usuário existe dentro do escopo de pesquisa, conforme determinado pela ActiveDirectoryMembershipProvider cadeia de conexão da instância. O provedor usa uma pesquisa de subárvores começando no ponto de pesquisa especificado na cadeia de conexão para determinar se um usuário existe. O usuário deve existir no contêiner especificado. As credenciais válidas fora do contêiner especificado da cadeia de conexão não serão validadas. Consulte o tópico de ActiveDirectoryMembershipProvider classe para obter mais informações sobre cadeias de conexão.
Se a EnablePasswordReset propriedade for
true
, a ActiveDirectoryMembershipProvider instância usará as credenciais configuradas para carregar a instância do usuário para verificar se o usuário foi bloqueado porque ele fez muitas tentativas com falha para alterar a resposta de senha.
Importante
Conectar-se a um controlador de domínio do Active Directory com a conta "Convidado" habilitada é uma possível ameaça à segurança. Todas as tentativas de validação feitas em um controlador de domínio do Active Directory com a conta "Convidado" habilitada terão êxito. Para melhorar a segurança ao usar um controlador de domínio do Active Directory, você deve desabilitar a conta "Convidado" no controlador de domínio.
A ActiveDirectoryMembershipProvider instância tentará uma associação simultânea com o Active Directory quando uma das seguintes condições for atendida:
A propriedade CurrentConnectionProtection está definida como None.
A CurrentConnectionProtection propriedade é definida como SignAndSeal e SSL é escolhido pela ActiveDirectoryMembershipProvider instância para proteger a conexão.
Além disso, para que uma associação simultânea seja feita, as seguintes condições devem ser verdadeiras:
O servidor de diretório deve estar em execução no Windows Server 2003.
O sistema operacional do servidor Web que executa a ActiveDirectoryMembershipProvider instância deve dar suporte a associações simultâneas (por exemplo, Windows Server 2003).
Quando uma associação simultânea é usada, a última data de logon do usuário não é atualizada no diretório; portanto, a LastLoginDate propriedade não pode ser confiada.
Os espaços à esquerda e à direita são cortados do username
parâmetro .