[RESOLVIDO] Mód de segurança alterando a senha

Olá pessoal.

Já li que muitos aqui não usam o módulo de segurança padrão do SC. Mas quem puder me ajudar eu agradeço.

Há um bug na hora de alterar algum dado do usuário, por exemplo, o grupo. Neste caso, ele está alterando a senha para o valor do login (sem criptografia) e eu não estou conseguindo identificar onde ele está fazendo esta atribuição pra eu tentar corrigir.

Alguma dica?

Boa tarde Sergio, eu tinha o mesmo problema, geralmente acontecia quando eu alterava um registro sem editar a senha dele, ele gravava sem criptografia.

Compilando algumas o programa form_edit_users o problema parece que desapareceu.

Vale a pena tentar o seguinte comando no evento BeforeUpdate: {PSWD} = hash(“md5”,{PSWD});

Att.

André.

Oi André.

Eu até pensei em forçar essa solução, mas acho que a tua dica estaria equivocada. Como o valor no banco já estaria criptografado, penso que não faria sentido algum criptografar novamente com {PSWD} = hash(“md5”,{PSWD}); correto? Ou estou errado?

De qualquer forma vou testar a tua sugestão e a opção {PSWD} = {PSWD};

Obrigado.

Exato, como o campo está no formulário, logo, ao programa abrir, ele recupera as informações do banco de dados e coloca no campo, logo, se está criptografado, deveria gravar novamente o valor criptografado. Mas vimos que isso não acontece rs.

Na época que tive o problema, eu cheguei a fazer isso, mas acessei aqui o programa e vi que não possuo isso e funciona hoje. Acredito ser algum bug, que na época, colocar os testes e recompilando o programa algumas vezes acabou corrigindo.

Att.

André.

André, implementei a tua sugestão e deu certo. Estranhamente ele não criptografa o criptografado rsrs.

Outro ponto estranho é que tu comentas “Na época que tive o problema”. Esse módulo de segurança foi gerado agora, na versão 9.3.011 do SC.

Que bom que deu certo rs. O módulo de segurança é mais antigo, mas gerei também na versão 9.3.*.

As vezes você tira o que você fez, marca e desmarca alguns parâmetros do campo e aí funciona. Faz parte do show :frowning:

Sei que esse tópico é antigo e foi dado como resolvido mas, pelo que vi, não é bem a solução, mesmo pq não faz sentido a senha estar em texto claro, pois não existe como o sistema “quebrar” o hash da senha armazenada.

O que está acontecendo com o formulário de edição de usuário é que o campo “senha” está desabilitado para exibição no update e, mesmo estando oculto, caso você possua senhas armazenadas no navegador, ele é preenchido com uma senha memorizada, fazendo com que salve esta como texto claro.

Colocar para ela fazer o hash no update gera um outro problema, você irá alterar a senha do usuário, pois o sistema pegará a senha memorizada na sua máquina e que, dificilmente, será igual do usuário editado.

A solução que encontrei foi forçar desabilitar o campo senha no onLoad.

Usei o seguinte código:

if ((sc_btn_new) or (!empty({campoLogin}))) {
sc_field_disabled("campoSenha=false");
}
else {
sc_field_disabled("campoSenha");
}