Login/Logout JSF
Pessoal, estou com um problema aqui com login/logout.
Quando faço o login pela primeira vez, funciona corretamente e ao fazer o logoff, estou dando um invalidate na sessão. Porém, ao fazer login novamente, ele está incluindo um diretório a mais no FacesContext, dando erro 404.
Abaixo está o código onde chamo a página principal após realizar a autenticação de usuário e senha.
O código do logout
E quando tento fazer login novamente, aparece o erro de page not found abaixo:
HTTP Status 404 - /pages/privado/faces/pages/privado/main.xhtml Not Found in ExternalContext as a Resource
Percebam que ele concatenou o "/pages/privado" novamente antes do caminho original.
Como faço para ele "limpar" o FacesContext para recuperar o diretório correto?
Quando faço o login pela primeira vez, funciona corretamente e ao fazer o logoff, estou dando um invalidate na sessão. Porém, ao fazer login novamente, ele está incluindo um diretório a mais no FacesContext, dando erro 404.
Abaixo está o código onde chamo a página principal após realizar a autenticação de usuário e senha.
FacesContext.getCurrentInstance().getExternalContext().redirect("faces/pages/privado/main.xhtml");
O código do logout
public String efetuarLogout() throws IOException{
FacesContext fc = FacesContext.getCurrentInstance();
HttpSession sessao = (HttpSession) fc.getExternalContext().getSession(false);
sessao.invalidate();
return "index.xhtml";
}
E quando tento fazer login novamente, aparece o erro de page not found abaixo:
HTTP Status 404 - /pages/privado/faces/pages/privado/main.xhtml Not Found in ExternalContext as a Resource
Percebam que ele concatenou o "/pages/privado" novamente antes do caminho original.
Como faço para ele "limpar" o FacesContext para recuperar o diretório correto?
Victor Júnior
Curtidas 0
Respostas
Ronaldo Lanhellas
23/04/2015
Tente fazer logout com o retorno do index.xhtml com "/":
return "/index.xhtml";
GOSTEI 0