Primeiro, por favor, perdoe meu inglês, não é minha língua materna.
Então, aqui está o meu problema: estou trabalhando em uma plataforma web que gerencia o Active Directory. Posso criar, excluir, editar um grupo, usuário, unidade organizacional e assim por diante.
Mas. Sim mas. Quando um usuário conectado deseja alterar sua própria senha com a plataforma, ele falha. Vem de DirectoryEntry.Invoke.
Eu usei o DirectoryServices.DirectoryEntry:
directoryEntry.Invoke("SetPassword", password);
directoryEntry.Commit();
Então eu tentei System.DirectoryServices.AccountManagement, dessa forma:
PrincipalContext ctx = new PrincipalContext(ContextType.Machine);
UserPrincipal user = UserPrincipal.FindByIdentity(ctx, Username);
user.SetPassword(password_);
user.Save();
Maneira diferente, mesmo problema. Esses códigos funcionam, ele só falha quando um usuário tenta editar sua própria senha.
Como um usuário conectado pode alterar sua própria senha?
Por que esse problema estranho?
Qualquer ajuda seria ótima.