/** * * @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();