package javaBB; import javax.ejb.EJB; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; import javax.faces.context.FacesContext; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import persistencia.Empresa; import negocios.GestionAutenticacion; import negocios.GestionEmpresas; @ManagedBean(name = "login", eager = true) @SessionScoped public class LoginBB { @Size(min=1, message="El campo mail es obligatorio") private String mail; @Size(min=1, message="Debe ingresar su password") private String password; private Empresa empresaSession; private boolean error; private String msgError; @EJB private GestionEmpresas ge; public LoginBB() { error = false; System.out.println("WelcomeBean instantiated"); } /* logica y navegaciĆ³n*/ public String login() { String retorno = ""; boolean logAdm = this.mail.equals("admin"); if(logAdm){ FacesContext context = FacesContext.getCurrentInstance(); context.getExternalContext().getSessionMap().remove("loginBB"); retorno = "loginAdminSistema"; } //chequeo de admin empresa /* boolean logEmp = this.mail.equals("empresa"); if(logEmp){ retorno = "loginAdminEmpresa"; } */ //***** LOGICA //chequeo de admin sistema /*boolean logAdm = ga.checkAdmin(this.mail, this.password); if(logAdm){ retorno = "loginAdminSistema"; } */ //chequeo de admin empresa boolean logEmp = ge.chechLogin(this.mail, this.password); if(logEmp){ FacesContext context = FacesContext.getCurrentInstance(); HttpSession session = (HttpSession)context.getExternalContext().getSession(true); Empresa empresa = ge.obtenerEmpresaPorMail(this.mail); session.setAttribute("idEmpresa", empresa.getId()); session.setAttribute("nombreEmpresa", empresa.getNombre()); session.setAttribute("mailEmpresa", empresa.getMailAdmin()); session.setAttribute("passEmpresa", empresa.getPassword()); session.setAttribute("descripcionEmpresa", empresa.getDescripcion()); retorno = "loginAdminEmpresa"; context.getExternalContext().getSessionMap().remove("loginBB"); } //LOGICA *******/ error = !(logEmp || logAdm); if (error) { msgError = "El usuario o password son incorectos"; } else { msgError = ""; } return retorno; } /* setters y getters */ public String getMail() { return mail; } public void setMail(String mail) { this.mail = mail; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public Empresa getEmpresaSession() { return empresaSession; } public void setEmpresaSession(Empresa empresaSession) { this.empresaSession = empresaSession; } public boolean isError() { return error; } public void setError(boolean error) { this.error = error; } public String getMsgError() { return msgError; } public void setMsgError(String msgError) { this.msgError = msgError; } }