Galera, estou fazendo a autenticação do sistema e estou com uma dúvida.
Na minha classe LoginAction chamo o método da minha classe DAO pra verificar se o usuário existe no sistema.
public String execute(){
if(this.usuarioDAO.cadastrado(this.usuario)){
this.usuario = this.usuarioDAO.getUsuarioBanco();
this.campoSenha = UsuarioAction.criptografaSenha(this.campoSenha);
if(this.campoSenha.equals(this.usuario.getSenha())){
return SUCCESS;
}
}
return "input";
}
Na minha classe DAO faço uma consulta no banco pra ver se o usuário existe.
public class UsuarioDAO {
private Usuario usuarioBanco;
/**
* Verifica se o usuario existe
* @return true or false
*/
public boolean cadastrado(Usuario usuarioLogin) {
List<Usuario> usuario = JPAUtil.getInstance().getList(Usuario.class, "SELECT u FROM Usuario u WHERE u.usuario = "+"'"+usuarioLogin.getUsuario()+"'");
if(usuario.size() > 0){
this.usuarioBanco = usuario.get(0);
}
return usuario.size() > 0;
}
Minha dúvida é como pegar esse usuário na action.
Porque o método me retorna apenas true ou false.
Eu criei um atributo Usuario na DAO pra depois dar um get nele.
Mas não sei se essa é a melhor maneira de fazer.
Alguém tem outra idéia melhor?