Sobrescrevendo metodo set
22/09/2014 20:39
Realizando estudos me deparei com uma situação onde sobrescrevi o método set de um atributo que referencia o hash da senha, da seguinte forma:
1 - Criei um codec para criptografar a senha
2 - No atributo hashSenha da classe usuário sobrescrevi o metodo set chamando o encode para criptografia, exemplo.
void setHashSenha(String hashSenha){
this.hashSenha = hashSenha
if (hashSenha != null)
this.hashSenha = hashSenha.encodeAsPassword()
}
Problema: ao criar um forme de login onde informo a senha, criptografo a senha informada e comparo com a senha já criptografada no banco percebo que na segunda chamada a este metodo de login o meu método set sobrescrito foi chamado alterando assim a minha senha persistida no banco. Qual o motivo deste comportamento?
obs: este link trás informações que não compreendi bem http://cleberlecheta.wikidot.com/grails
Tags:
metodo set, gorm, encode