Alguem sabé como faço para redirecionar o usuário para página requisitada após o login pelo JSF
?
Exemplo: o usuário acessa a pagina http://localhost:8080/helpdesk/visualizar.xhtml?id=6297
, não estando logado ele é redirecionado para página de login, após o login ao invés de redirecionar a página para index seria encaminhado para a página acima.
Método para validadar se está logado ou não
@Override
public void afterPhase(PhaseEvent event) {
FacesContext context = event.getFacesContext();
String url = context.getViewRoot().getViewId();
if ("/login.xhtml".equals(context.getViewRoot().getViewId())) {
return;
}
LoginBean loginBean =
context.getApplication()
.evaluateExpressionGet(context, "#{loginBean}",
LoginBean.class);
if (!loginBean.isLogado()) {
NavigationHandler handler = context.getApplication()
.getNavigationHandler();
handler.handleNavigation(context, null, "login?faces-redirect=true");
context.renderResponse();
}
}