Você está na página 1de 2

/*

* To change this license header, choose License Headers in Project Properties.


* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package Beans;

import java.io.IOException;
import java.io.Serializable;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import javax.servlet.http.HttpSession;
import org.primefaces.context.RequestContext;

/**
*
* @author gdark22
*/
@ManagedBean
@SessionScoped
public class validacionBean implements Serializable {

//Creamos las variables a utilizar
private String user, pass;
FacesMessage mensaje;
String msg;
public boolean loggedIn = false;

public validacionBean() {
}


//Validamos el logueo de usuario, diciendo que si usuario no es admin y la p
assword no es password lanse un mensaje
//Sino que vaya a la pagina de inicio
public void login(ActionEvent event) {
if (user.equals("admin") && pass.equals("password")) {
try {
/*
FacesContext contiene informacion del estado de un algun request
que se este procesando
y de su relacion con el response
*/
//Redireccionamos a la pagina de inicio.xhtml
FacesContext.getCurrentInstance().getExternalContext().redirect(
"inicio.xhtml");
//Hacemos que loggedIn = true para controlar la session
loggedIn = true;
} catch (IOException ex) {

}

} else {
msg = "Usuario o password incorrecta";
mensaje = new FacesMessage(FacesMessage.SEVERITY_WARN, "Login error"
, msg);
}

//Lanzamos el mensaje dependiendo si usuario o password incorrecta, este
mensaje
//Sera presentado en el componente Growl
FacesContext context = FacesContext.getCurrentInstance();
context.addMessage(null, new FacesMessage(msg));
}

//Metodo utilizado para cerrar seccion y eliminar la session
public void logout() {
try {
//Este objeto lo que hace es dar datos adicionales al request antes
de ser ejecutado
RequestContext context = RequestContext.getCurrentInstance();
FacesContext facesContext = FacesContext.getCurrentInstance();
/*
Este objeto nos permitira controlar la session, amm lo que hace es p
roveer informacion sobre algun usuario
por mas de un request, o tambien tiene la funcion de visitar a un we
b site y proveer informacion sobre ese usuario
aunque en este caso lo utilizaremos para cerrar la session.
*/
HttpSession session = (HttpSession) facesContext.getExternalContext(
).getSession(false);
//Desenlazamos todos los objetos relacionado con la session
session.invalidate();

context.addCallbackParam("loggetOut", true);

FacesContext.getCurrentInstance().getExternalContext().redirect("ind
ex.xhtml");

} catch (IOException ex) {

}
}

public String getUser() {
return user;
}

public void setUser(String user) {
this.user = user;
}

public String getPass() {
return pass;
}

public void setPass(String pass) {
this.pass = pass;
}

}

Você também pode gostar