ActiveDirectoryMembershipProvider.ChangePasswordQuestionAndAnswer Método

Definição

Atualiza a pergunta e resposta da palavra-passe para um utilizador na loja do Active Directory.

public:
 override bool ChangePasswordQuestionAndAnswer(System::String ^ username, System::String ^ password, System::String ^ newPasswordQuestion, System::String ^ newPasswordAnswer);
public override bool ChangePasswordQuestionAndAnswer(string username, string password, string newPasswordQuestion, string newPasswordAnswer);
override this.ChangePasswordQuestionAndAnswer : string * string * string * string -> bool
Public Overrides Function ChangePasswordQuestionAndAnswer (username As String, password As String, newPasswordQuestion As String, newPasswordAnswer As String) As Boolean

Parâmetros

username
String

O utilizador para alterar a palavra-passe e a resposta para.

password
String

A palavra-passe do utilizador especificado.

newPasswordQuestion
String

A nova pergunta de palavra-passe para o utilizador especificado.

newPasswordAnswer
String

A resposta da nova palavra-passe para o utilizador especificado.

Devoluções

true se a atualização fosse bem-sucedida; caso contrário, false. Um valor de false também é devolvido se a palavra-passe estiver incorreta, o utilizador estiver bloqueado ou se o utilizador não existir no armazenamento de dados Active Directory.

Exceções

O administrador não mapeou os campos de perguntas e respostas da palavra-passe para atributos do esquema do Active Directory.

username está vazio ou excede o comprimento máximo do nome de utilizador (normalmente 256 caracteres).

-ou-

username contém vírgulas.

-ou-

O nome de utilizador está mapeado para o userPrincipalName atributo e o username parâmetro contém barras adicionais.

-ou-

password é uma corda de comprimento zero.

-ou-

password ultrapassa o comprimento máximo da palavra-passe (normalmente 128 caracteres).

-ou-

newPasswordQuestion é vazio e o RequiresQuestionAndAnswer valor da propriedade é true.

-ou-

newPasswordQuestion ultrapassa os 256 caracteres.

-ou-

newPasswordAnswer ultrapassa os 128 caracteres após a resposta ser encriptada.

username é null.

-ou-

password é null.

-ou-

newPasswordQuestion é null e RequiresQuestionAndAnswer propriedade é true.

-ou-

newPasswordAnswer é null e RequiresQuestionAndAnswer propriedade é true.

O elemento de configuração machineKey (ASP.NET Settings Schema) indica uma chave de encriptação automática da máquina. Deve definir explicitamente o atributo decryptionKey do elemento machineKey Element (ASP.NET Settings Schema) para armazenar respostas por palavra-passe com o ActiveDirectoryMembershipProvider.

Observações

O método é chamado pela classe ActiveDirectoryMembershipUser para atualizar a pergunta e resposta da palavra-passe para um utilizador na loja de membros Active Directory.

Exigir uma pergunta e resposta com palavra-passe proporciona uma camada adicional de segurança ao redefinir a palavra-passe do utilizador. Ao criar um nome de utilizador, o utilizador pode fornecer uma pergunta e uma resposta que mais tarde podem ser usadas para redefinir uma palavra-passe esquecida. O ChangePasswordQuestionAndAnswer método atualiza a pergunta e resposta da palavra-passe para um utilizador membro para novos valores.

Para usar o ChangePasswordQuestionAndAnswer método, deve definir estes atributos adicionais no ficheiro de configuração da sua aplicação:

  • requiresQuestionAndAnswer deve ser true.

  • attributeMapPasswordQuestion e attributeMapPasswordAnswer devem ser mapeados para atributos no esquema Active Directory.

Se os critérios acima não forem cumpridos, a ProviderException é lançado na inicialização.

A instância ActiveDirectoryMembershipProvider liga-se ao armazenamento de dados Active Directory com as credenciais fornecidas nos parâmetros username e password para validar a combinação nome de utilizador/palavra-passe. A atualização efetiva da pergunta e resposta é feita com as credenciais de ligação configuradas do fornecedor.

Se for fornecida uma palavra-passe incorreta ao ChangePasswordQuestionAndAnswer método, o servidor de diretórios irá incrementar os contadores que rastreiam tentativas de palavra-passe inválidas. Isto pode resultar no bloqueio do utilizador e incapaz de iniciar sessão até que o estado do bloqueio seja resolvido por uma chamada ao UnlockUser método ou até que a duração do bloqueio especificada no diretório passe.

Se a atualização da pergunta e resposta for bem-sucedida e a EnablePasswordReset propriedade for true, os contadores de rastreio de respostas por palavra-passe do utilizador são reiniciados.

A resposta por palavra-passe é encriptada usando o método EncryptPassword antes de ser armazenada no armazenamento de dados Active Directory. A chave de encriptação e o algoritmo são especificados pelo elemento de configuração machineKey Element (ASP.NET Settings Schema). O atributo de desencriptação no elemento machineKey Element (ASP.NET Settings Schema) deve ser especificado, a classe ActiveDirectoryMembershipProvider não suporta chaves de encriptação geradas automaticamente.

O comprimento máximo para a pergunta da palavra-passe é de 256 caracteres. O comprimento máximo da resposta por palavra-passe é de 128 caracteres.

Os espaços iniciais e finais são cortados a partir de todos os valores dos parâmetros, exceto para password.

O fornecedor encontra a instância do utilizador a atualizar realizando uma pesquisa em subárvore pelo nome de utilizador a partir do ponto de pesquisa especificado na cadeia de ligação. Consulte o ActiveDirectoryMembershipProvider tópico da aula para mais informações sobre cordas de ligação.

Aplica-se a

Ver também