Olá Pessoal,
Seguinte, sou iniciante e estou precisando de ajuda na parte de login onde preciso buscar na sessão os dados do usuario logado e jogar na sua página de Cadastro com os dados do cadastro anteriormente efetuado, não estou sabendo fazer esta busca na sessão.
Tenho a entidade Login com o Id, usuario, senha e o IdFkEmpresa e outra entidade com os dados da Empresa como idEmpresa e demais atributos... Segue abaixo meu código de login.
Se alguém puder me ajudar fico muito grato!
[code]package controle;
import org.hibernate.Query;
import org.hibernate.Session;
import util.HibernateUtil;
import entidades.Empresa;
import entidades.Login;
public class LoginHandler{
Empresa empresa = new Empresa();
Login login = new Login();
private String usuario;
private String senha;
private boolean logado = false;
public Login buscaLogin (String usuario, String senha) {
//Cria a sessao com o banco e a transacao...
Session session = HibernateUtil.getSession();
Query q = session.createQuery("from Login u where u.usuario = :usuario and u.senha = :senha");
q.setParameter("usuario", usuario);
q.setParameter("senha", senha);
Login login = (Login) q.uniqueResult();
return login;
}
public String logar(){
try {
if (buscaLogin(usuario, senha)!= null){
System.out.println("login com sucesso");
return "sucesso";
}else{
System.out.println("Login falhou");
return "erro";
}
} catch (Exception e) {
e.printStackTrace();
return "failure";
}
}
public String getUsuario() {
return usuario;
}
public void setUsuario(String usuario) {
System.out.println("mudando o login para: "+ usuario);
this.usuario = usuario;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
public boolean isLogado() {
return logado;
}
public void setLogado(boolean logado) {
this.logado = logado;
}
public Login getLogin() {
return login;
}
public void setLogin(Login login) {
this.login = login;
}
public Empresa getEmpresa() {
return empresa;
}
public void setEmpresa(Empresa empresa) {
this.empresa = empresa;
}
}
package controle;
import javax.el.ELResolver;
import javax.faces.application.NavigationHandler;
import javax.faces.context.FacesContext;
import javax.faces.event.PhaseEvent;
import javax.faces.event.PhaseId;
import javax.faces.event.PhaseListener;
public class Autorizador implements PhaseListener{
public static final String loginPage = "login.jsp";
public void afterPhase(PhaseEvent event) {
FacesContext fc = event.getFacesContext();
if (fc.getViewRoot().getViewId().equals(loginPage)){
return;
}
ELResolver elr = fc.getApplication().getELResolver();
LoginHandler login = (LoginHandler) elr.getValue(fc.getELContext(), null, "autenticador");
if (login == null || login.isLogado()){
System.out.println("Não está logado...");
//redireciona para o login
NavigationHandler nav = fc.getApplication().getNavigationHandler();
nav.handleNavigation(fc, null, "login");
//renderiza a pagina
fc.renderResponse();
}
}
public void beforePhase(PhaseEvent event) {
// TODO Auto-generated method stub
}
public PhaseId getPhaseId() {
return PhaseId.RESTORE_VIEW;
}
}