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 e a senha especificados 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 o especificado username e password for válido; caso contrário, false. Se o usuário especificado não existir no armazenamento de dados do Active Directory, o ValidateUser(String, String) método retornará false.
Exceções
O ValidateUser(String, String) método é chamado antes que a ActiveDirectoryMembershipProvider instância seja inicializada.
Comentários
Esse método é chamado pela classe para validar as Membership 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 incorretas de senha serão redefinidos.
O ValidateUser método pode retornar false quando as credenciais corretas são 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 depois que o tempo especificado na PasswordAnswerAttemptLockoutDuration propriedade for 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 da 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 ameaça à segurança em potencial. Todas as tentativas de validação feitas em um controlador de domínio do Active Directory com a conta "Convidado" habilitada serão bem-sucedidas. Para melhorar a segurança ao usar um controlador de domínio do Active Directory, desabilite a conta "Convidado" no controlador de domínio.
A ActiveDirectoryMembershipProvider instância tentará uma associação simultânea no Active Directory quando uma das seguintes condições for atendida:
A propriedade CurrentConnectionProtection está definida como None.
A CurrentConnectionProtection propriedade é definida SignAndSeal e o 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.