public void logar() { try { if (StringHelper.isEmpty(email) || StringHelper.isEmpty(senha)) { throw new BusinessException("Por favor informe o E-mail e a Senha!"); } Usuario login = doInTransaction( new PersistenceAction<Usuario>() { @Override public Usuario execute(Session s) throws BusinessException { Criteria criteria = s.createCriteria(Usuario.class); criteria.add(Restrictions.eq("email", email)); criteria.add(Restrictions.eq("senha", senha)); Usuario login = (Usuario) criteria.uniqueResult(); if (login == null) { throw new BusinessException("Email ou senha inválidos!"); } return login; } }); senha = null; Context.setLogin(login); if (Context.getLogin().getPermissao().equals("USER")) { url = "lancar-acertos.jsf"; } } catch (BusinessException ex) { addMessage(FacesMessage.SEVERITY_WARN, ex.getMessage()); Logger.getLogger(LoginView.class.getName()).log(Level.SEVERE, null, ex); } }
public void alterarSenha() { try { if (StringHelper.isEmpty(senha) || StringHelper.isEmpty(repetirSenha)) { addMessage(FacesMessage.SEVERITY_WARN, "Informe e repita a nova senha nos campos!"); return; } if (!senha.equals(repetirSenha)) { addMessage( FacesMessage.SEVERITY_WARN, "As senhas digitadas nos dois campos estão diferentes! Digite a mesma senha em ambas as caixas!"); } doInTransaction( new PersistenceActionWithoutResult() { @Override public void execute(Session s) throws BusinessException { Usuario login = Context.getLogin(); login.setSenha(senha); login.setAlterarSenha(false); login.setSession(s); login.save(); Context.setLogin(login); } }); } catch (BusinessException ex) { addMessage(FacesMessage.SEVERITY_WARN, ex.getMessage()); Logger.getLogger(LoginView.class.getName()).log(Level.SEVERE, null, ex); } }
public void redirecionar() { try { if (StringHelper.isEmpty(url)) { url = FacesContext.getCurrentInstance() .getExternalContext() .getRequestParameterMap() .get("retorno"); if (StringHelper.isEmpty(url)) { url = RETURN_DEFAULT; } } FacesContext.getCurrentInstance().getExternalContext().redirect(url); } catch (IOException ex) { addMessage(FacesMessage.SEVERITY_ERROR, "Erro ao redirecionar a página!"); Logger.getLogger(LoginView.class.getName()).log(Level.SEVERE, null, ex); } }