package Controle;
import DAO.UsuarioDAO;
import Entidade.Usuario;
import Util.Criptografia;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
@ManagedBean
@SessionScoped
public class ControleSessaoUsuario {
Usuario usuarioConsultado;
Usuario usuario1 = new Usuario();
Usuario usuarioConsultado1;
ControleParametros controlePar = new ControleParametros();
private boolean userLogado;
private Usuario usuarioLogado;
public Usuario getUsuario1() {
return usuario1;
}
public void setUsuario1(Usuario usuario1) {
this.usuario1 = usuario1;
}
public Usuario getUsuarioLogado() {
return usuarioLogado;
}
public void setUsuarioLogado(Usuario usuarioLogado) {
this.usuarioLogado = usuarioLogado;
}
public boolean isUserLogado() {
return userLogado;
}
public void setUserLogado(boolean userLogado) {
this.userLogado = userLogado;
}
public String logarUsuario() {
UsuarioDAO consulta = new UsuarioDAO();
String senhaRecebida = Criptografia.md5(usuario1.getUsuDscSenha());
usuarioConsultado1 = consulta.consultarLoginESenha(usuario1);
if (usuarioConsultado1 != null) {
if (senhaRecebida.equals(usuarioConsultado1.getUsuDscSenha()) && usuarioConsultado1.getUsuSnAtivo()== true) {
setUserLogado(true);
controlePar.buscarParametros(); //CARREGA OS PARAMETROS DA RMP
usuarioLogado = usuarioConsultado1;
if (usuarioConsultado1.getUsuNumTipo() == 1) {
return "/protect/templateRd.xhtml?faces-redirect=true";
} else {
return "/protect/dashboardsUsuario.xhtml?faces-redirect=true";
}
} else {
setUserLogado(false);
FacesContext.getCurrentInstance().validationFailed();
FacesMessage msg = new FacesMessage("Erro! Seu usuário ou senha estão incorretos");
FacesContext.getCurrentInstance().addMessage("SEVERITY_ERROR", msg);
}
} else {
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_WARN, "Erro! Seu usuário ou senha estão incorretos", "");
FacesContext.getCurrentInstance().addMessage(null, msg);
}
return null;
}
public String logOut() {
usuarioLogado = null;
setUserLogado(false);
FacesContext.getCurrentInstance().getExternalContext().invalidateSession();
return "/faces/login.xhtml?faces-redirect=true";
}
}