ldap exchange código 2003 49 - ERROR_PASSWORD_MUST_CHANGE

1

Estou tentando gravar uma função para permitir que um usuário redefina sua senha quando precisar alterar sua senha (código 49 - ERROR_PASSWORD_MUST_CHANGE).

Eu solicito seu nome de usuário, senha atual, insira uma nova senha e confirme a nova senha.

Uma nota lateral, notei que quando tentei entrar em um aplicativo que usa a autenticação ldap, ele não permite que eles entrem. Isso me leva a acreditar que o ERROR_PASSWORD_MUST_CHANGE de alguma forma interrompe o processo de autenticação.

Para que eles redefinam a senha, eles precisam se autenticar com a senha atual (o que os confirma como sendo o proprietário real da conta), mas ela falhará.

Sei que posso usar uma conta de administrador para alterar a senha, mas ela nunca verifica se o usuário é o proprietário real da conta, pois não se importa com a senha atual.

Eu planejo escrever isso em php, não tenho certeza se isso é importante, mas estou aprendendo mais sobre as "dicas" do ldap e qualquer ajuda é apreciada.

UPDATE: eu encontrei "hack" para fazer isso funcionar. Se ldap retorna o número de código para pwdLastSet sendo 0, então você configura o pwdLastSet usando uma conta admin para -1, então eles serão capazes de autenticar para ldap, para redefinir sua senha.

Atualização: Respondeu a pergunta sobre como fazer isso no php aqui link

    
por Brad 16.04.2013 / 16:03

0 respostas