Redirecionar usuarios para página após login jsf?

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();
	}
	
}

Cara, tu poderia dentro desse método que trata quando o usuário não está logado, guardar a URL da requisição na sessão, ai seria redirecionado para a página de login, e após o usuário informar os dados de autenticação válidos, tu poderia redirecionar para a URL que foi salva na sessão (Lembrar de remover após recuperar), e caso por algum motivo não tenha a URL na sessão tu deixa seguir o fluxo normal redirecionando para tua página index.

Pode ter alguma solução mais elegante, mas para início, acho que assim tu consegue resolver teu problema.

Bom dia,
Porém a variável “context.getViewRoot().getViewId();” chega sem o id.
O valor da variavel url = “/visualizar.xhtml”

não sei porque ela não vem completa que no caso seria assim: http://localhost:8080/helpdesk/visualizar.xhtml?id=6297