Este artigo explica duas formas de alterar senhas de usuários em aplicações Elipse E3: uma que altera a senha do usuário logado, e outra que altera a senha de qualquer usuário.
⚠️ Importante: Estes métodos não se aplicam a usuários vinculados ao Windows (AD), apenas a usuários criados diretamente no Domínio do Elipse E3.
🔐 Método ChangePassword()
Este método é utilizado para alterar a senha do usuário atualmente logado na aplicação. Ao ser chamado, ele abre uma caixa de diálogo onde o usuário pode inserir sua senha atual e definir uma nova senha.
📌 Sintaxe
Application.ChangePassword([PosX], [PosY])
PosX
: Posição em pixels da caixa de diálogo em relação à margem esquerda da janela.PosY
: Posição em pixels da caixa de diálogo em relação à margem superior da janela.
🛠️ Exemplo de uso
Este método pode ser chamado, por exemplo, ao clicar em um botão:
Sub CommandButton1_Click()
Application.ChangePassword()
End Sub
⚠️ Observações
- Os parâmetros são opcionais. Caso algum destes parâmetros seja omitido, a respectiva coordenada da caixa de diálogo é centralizada na janela.
- A caixa de diálogo é gerenciada pelo E3, garantindo segurança e padronização.
🧩 Método ChangeUserPassword
Este método permite alterar a senha de qualquer usuário, desde que a senha atual seja conhecida. A alteração é feita via script, sem abrir caixa de diálogo.
📌 Sintaxe
Application.ChangeUserPassword (Username, PasswordOld, PasswordNew, [OpStatus])
Username
: Nome do usuário.PasswordOld
: Senha atual do usuário.PasswordNew
: Nova senha desejada.OpStatus
(opcional): Parâmetro que pode ser usado para verificar o status da operação.
🛠️ Exemplo de uso
Sub CommandButton1_Click()
usuario = Screen.Item("spUserName").Value
senhaAtual = Screen.Item("spUserPassword").Value
novaSenha = Screen.Item("spUserNewPassword").Value
Application.ChangeUserPassword usuario, senhaAtual, novaSenha
End Sub
⚠️ Observações
- Ideal para cenários onde a senha precisa ser alterada programaticamente por usuários que não têm acesso a janela de administração de usuários.
- Sempre que um usuário troca a senha, é realizado um logout de todas as sessões onde este usuário estava logado, exceto da sessão onde foi realizada a troca de senha.
- A senha atual deve ser válida, caso contrário a operação falhará.
- Valores para OpStatus podem ser vistos no Manual de Referência e Scripts do Elipse E3, no método LoginUser, na tabela Valores de retorno possíveis para o parâmetro OpStatus.
✅ Boas práticas
- Evite armazenar senhas em texto plano.
- Mantenha políticas de senha fortes e atualizadas.
- Evite deixar scripts com senhas visíveis no ambiente de produção.