package br.com.ufrj.msi2.netuno.bean; import javax.annotation.PostConstruct; import javax.ejb.EJB; import javax.faces.application.FacesMessage; import javax.faces.bean.ManagedBean; import javax.faces.bean.RequestScoped; import javax.faces.context.FacesContext; import javax.servlet.http.HttpSession; import br.com.ufrj.msi2.netuno.attributes.Attributes; import br.com.ufrj.msi2.netuno.modelo.entidades.Usuario; import br.com.ufrj.msi2.netuno.sistema.servicos.LoginService; import br.com.ufrj.msi2.netuno.sistema.servicos.exception.NaoAutenticadoException; // Nome do Bean que � referenciado tanto nas telas (xhtml) quanto // no faces-config.xml (Configura��o de navega��o). @ManagedBean(name="Login") @RequestScoped public class LoginMBean extends MBean { @EJB LoginService loginService; private String login, senha; @PostConstruct public void construct() { } public String autenticar() { if(!validarDados()) { // Nao faz a navegacao, fica na mesma p�gina. return ""; } try { Usuario usuario = loginService.autenticaUsuario(login, senha); HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(true); session.setAttribute(Attributes.SessionAttributes.LOGIN.toString(), usuario); return usuario.getTipo(); } catch (NaoAutenticadoException e) { sendMessage("lM", FacesMessage.SEVERITY_ERROR, "Erro no login", "Usuario e/ou Senha invalido(s) !"); return ""; } } public boolean validarDados() { if(login == null || login.trim().isEmpty()) { sendMessage("lM", FacesMessage.SEVERITY_WARN, "Erro no login", "Preencha o login"); return false; } else if(senha == null || senha.trim().isEmpty()) { sendMessage("lM", FacesMessage.SEVERITY_WARN, "Erro no login", "Preencha a senha"); return false; } return true; } public String novoContratante() { HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(true); session.setAttribute(Attributes.SessionAttributes.USUARIOSECADASTRANDO.toString(), "usuariosecadastrando"); return "novoContratante"; } public String getSenha() { return senha; } public void setSenha(String senha) { this.senha = senha; } public String getLogin() { return login; } public void setLogin(String login) { this.login = login; } }