ActiveDirectoryMembershipProvider.ValidateUser(String, String) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Verifica se o nome de utilizador e a palavra-passe 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 utilizador a validar.
- password
- String
A palavra-passe do utilizador especificado.
Devoluções
true se os especificados username e password forem válidos; caso contrário, false. Se o utilizador especificado não existir na Active Directory data store, o método ValidateUser(String, String) devolve false.
Exceções
O ValidateUser(String, String) método é chamado antes da ActiveDirectoryMembershipProvider instância ser inicializada.
Observações
Este método é chamado pela classe Membership para validar as credenciais do utilizador contra o armazenamento de dados Active Directory.
Se a EnablePasswordReset propriedade for true e as credenciais fornecidas forem válidas, os contadores de rastreio do utilizador para respostas de passwords erradas são reiniciados.
O ValidateUser método pode regressar false quando forem fornecidas as credenciais corretas, nas seguintes circunstâncias:
A conta de utilizador foi bloqueada pelo servidor de diretórios devido a demasiadas tentativas falhadas de logon. O utilizador não poderá iniciar sessão até que a duração do bloqueio do diretório ultrapasse.
Se a EnablePasswordReset propriedade for
true, a conta de utilizador será bloqueada se o utilizador fornecer uma resposta de palavra-passe errada demasiadas vezes. A conta do utilizador será desbloqueada após o tempo especificado na PasswordAnswerAttemptLockoutDuration propriedade ter passado.O utilizador deve existir no contentor especificado na cadeia de ligação. As credenciais válidas são fornecidas para uma conta de utilizador localizada num contentor diferente ou num domínio diferente. O utilizador deve existir no contentor especificado na cadeia de ligação.
Ao validar um utilizador, o fornecedor valida as credenciais ligando-se ao armazenamento de dados do Active Directory usando o nome de utilizador e a palavra-passe especificados, e não as credenciais configuradas no ficheiro de configuração da aplicação.
No entanto, a ActiveDirectoryMembershipProvider instância irá ligar-se ao diretório usando as credenciais configuradas pelas seguintes razões.
Para confirmar que um utilizador existe dentro do âmbito de pesquisa determinado pela cadeia de ligação da instância ActiveDirectoryMembershipProvider. O fornecedor utiliza uma pesquisa em subárvore que começa no ponto de pesquisa especificado na cadeia de ligação para determinar se existe um utilizador. O utilizador deve existir no contentor especificado. Credenciais válidas fora do contentor especificado pela cadeia de ligação não serão validadas. Consulte o ActiveDirectoryMembershipProvider tópico da aula para mais informações sobre cordas de ligação.
Se a EnablePasswordReset propriedade for
true, a ActiveDirectoryMembershipProvider instância usará as credenciais configuradas para carregar a instância do utilizador e verificar se o utilizador foi bloqueado porque fez demasiadas tentativas falhadas de alterar a resposta da palavra-passe.
Importante
Ligar a um controlador de domínio do Active Directory com a conta "Guest" ativada é uma potencial ameaça à segurança. Todas as tentativas de validação feitas num controlador de domínio Active Directory com a conta "Guest" ativada terão sucesso. Para melhorar a segurança ao usar um controlador de domínio do Active Directory, deve desativar a conta "Guest" no controlador de domínio.
A instância ActiveDirectoryMembershipProvider tentará uma ligação concorrente contra Active Directory quando uma das seguintes condições for cumprida:
A propriedade CurrentConnectionProtection está definida como None.
A CurrentConnectionProtection propriedade é definida como SignAndSeal e SSL é escolhido pela ActiveDirectoryMembershipProvider instância para proteger a ligação.
Além disso, para que exista uma ligação concorrente, as seguintes condições devem ser verdadeiras:
O servidor de diretórios deve estar a correr no Windows Server 2003.
O sistema operativo do servidor Web que executa a instância ActiveDirectoryMembershipProvider deve suportar binds concorrentes (por exemplo, Windows Server 2003).
Quando é usada uma ligação concorrente, a última data de início de sessão do utilizador não é atualizada no diretório; Portanto, a LastLoginDate propriedade não pode ser considerada confiável.
Os espaços dianteiro e traseiro são cortados a partir do username parâmetro.