JSF CON JPA CON GLASFISH Y ORACLE
El action="#{usuariobean.doLogin()}" esta llamando al metodo que valida que el password y usuario sean los mismos que mi BD, para ello en su usuarioFacade tienen q aser los siguientes metodos.
// BuscarUsuario
public Usuarios BuscarUsuario(String nombreUsuario) {
javax.persistence.criteria.CriteriaBuilder cb = getEntityManager().getCriteriaBuilder();
javax.persistence.criteria.CriteriaQuery<Usuarios> cq = cb.createQuery(Usuarios.class);
javax.persistence.criteria.Root<Usuarios> rt = cq.from(Usuarios.class);
cq.select(rt);
cq.where(cb.equal(rt.get("usuario"), nombreUsuario));
Usuarios usuarios = null;
try {
usuarios = getEntityManager().createQuery(cq).getSingleResult();
} catch (NoResultException ex) {
System.err.println(ex.getMessage());
}
return usuarios;
}
javax.persistence.criteria.CriteriaBuilder cb = getEntityManager().getCriteriaBuilder();
javax.persistence.criteria.CriteriaQuery<Usuarios> cq = cb.createQuery(Usuarios.class);
javax.persistence.criteria.Root<Usuarios> rt = cq.from(Usuarios.class);
cq.select(rt);
cq.where(cb.equal(rt.get("usuario"), nombreUsuario));
Usuarios usuarios = null;
try {
usuarios = getEntityManager().createQuery(cq).getSingleResult();
} catch (NoResultException ex) {
System.err.println(ex.getMessage());
}
return usuarios;
}
//Aca es donde valida
public boolean login(String nombreUsuario, String password){
Usuarios usuarios = BuscarUsuario(nombreUsuario);
if(usuarios != null)
if(usuarios.getPassword().equals(password))
return Boolean.TRUE;
return Boolean.FALSE;
}
public boolean login(String nombreUsuario, String password){
Usuarios usuarios = BuscarUsuario(nombreUsuario);
if(usuarios != null)
if(usuarios.getPassword().equals(password))
return Boolean.TRUE;
return Boolean.FALSE;
}
Ahora en el USUARIOBEAN los siguientes metodos:
Antes declaramos arriba lo siguiente
private boolean isLoggedIn;
private Usuarios Usuarios; //Usuarios es la entidad
private String usuario;
private int Codigo;
private String password;
private String mensaje;
private Usuarios Usuarios; //Usuarios es la entidad
private String usuario;
private int Codigo;
private String password;
private String mensaje;
Y luego el siguiente metodo que es para desloguear ,para cerrar sesion
Y listo ya su login funciona correctamente ;)