[RESOLVIDO]Exercicio apostila VRaptor - Seguindo fluxo depois de interceptar requisições

2 respostas
paulo.furtado

Estou fazendo os exercícios da apostila da Caelum (VRaptor), restringindo acesso a usuario nao logado.
Esta tudo funcionando corretamente, porém eu gostaria de que, depois que o usuario se loga ele é redirecionado para a pagina que ele queria antes de se logar.
Entenderam?

O cara não esta logado e digita -> localhost:8080/goodbuy/produtos/novo

ele nao poderá inserir um novo produto pois ainda nao esta logado

ai o interceptor verifica que ele nao esta logado e o redireciona para a pagina de login.

Eu queria que depois do login ele “fosse” para o metodo que ele queria no caso o novo.

se o usuario nao logado digita -> localhost:8080/goodbuy/produtos/lista

depois de logado fosse redirecionado para o lista.jsp

Entenderam?
Preciso de uma ajuda, qualquer coisa se não entenderam tento explicar melhor.

2 Respostas

Lucas_Cavalcanti

o que a gente costuma fazer é guardar a página que ele estava tentando acessar quando deu erro de login…

algo do tipo:

Interceptor de login, receba o Result e o HttpServletRequest no construtor

public void intercept(....) {
     ...
     if (usuário não está logado ) {
          result.include("urlPosLogin", request.getRequestURI());
          //redirect pra pagina de login
     }
}

na página de login, coloque no formulário:

<input type="hidden" name="urlPosLogin" value="${urlPosLogin}"/>

e no método que trata o login:

public void efetuaLogin(usuario, senha, String urlPosLogin) {
     if( o cara tá logado mesmo ) {
           //se o urlPosLogin tá preenchido
           result.use(Results.page()).redirectTo(urlPosLogin);
          //senão redireciona pra home do site, ou algo do tipo.
     }
  
}
paulo.furtado

Poxa show de bola e fácil, ate agora nao tiha visto nenhum exemplo recebendo o HttpServletRequest em um construtor, e é fundamental para pegar a uri digitada.
Muito obrigado mesmo pela ajuda e parabéns pelo VRaptor, to muito satisfeito pelo que estou estudando e aprendendo com ele.
Abraços

Criado 28 de julho de 2012
Ultima resposta 28 de jul. de 2012
Respostas 2
Participantes 2