permissão para alterar a senha do Windows em ambiente não AD

3

Temos um computador executando o Windows Server 2012 R2, que não é membro de nenhum domínio, e um aplicativo da Web em execução neste servidor. Os usuários do aplicativo são configurados como usuários locais do Windows do servidor. Mas os usuários nunca entram no servidor, o aplicativo apenas solicita nome de usuário e senha e, em seguida, verifica o servidor se a senha estiver correta.

O aplicativo é solicitado para permitir que os usuários alterem suas senhas. Eu tentei usar o método de interface ADSI ChangePassword(oldPassword, newPassword) para fazer isso. Como alternativa, o método ADSI SetPassword(newPassword) . Mas recebi uma mensagem de erro "Acesso negado".

Acho que, de acordo com o link , preciso adicione ACEs (AccessControlEntries) contendo os seguintes direitos estendidos à ACL (AccessControlList) do usuário que está executando o serviço acessado pela Web:

  • Reset Password e
  • Change Password

para os métodos com um nome semelhante. Estes são descritos aqui . Todas as ferramentas que eu encontrei que me permitiriam ver essas ("Usuários e Computadores do Active Directory", "ADSI Edit" ou "dsacls"), exigem que um Active Directory se conecte antes de fazer qualquer coisa.

E todos os exemplos de código que encontrei exigem também um Active Directory para obter o objeto de usuário ou de grupo para o qual a ACL precisa ser alterada.

Minhas experiências mostram que posso tornar a conta um membro do grupo Administradores, que parece ter a permissão SetPassword. Mas provavelmente isso é muito mais do que o necessário, e eu gostaria de dar apenas a permissão para a conta, conforme necessário. E eu ainda não seria capaz de verificar a senha antiga dessa maneira.

Não há como simplesmente adicionar uma ACE a uma conta de usuário se o usuário for um usuário local e não um usuário do AD?

    
por FrankPl 23.06.2016 / 17:58

0 respostas