Direcionar URL após o login - Falta um detalhe

5 respostas
M

Pessoal, preciso de uma ajuda…

Preciso fazer a autenticação do usuário e depois redirecioná-lo para o link solicitado, como fazer isso?

Tenho um servlet que faz a autenticação dos usuários que vem da página de login, o problema é que qdo o acesso é por um endereço que não é a página de login…

Ex:

Se o link solicitado for este:
http://155.111.555.666/portal_server/cqa/cqaPesquisa_sql.jsp?dtIni=1&dtFim=2&nbrCqa=7500

preciso que vá para:

http://155.111.555.666/portal_server/index.jsp

e depois volte para:
http://155.111.555.666/portal_server/cqa/cqaPesquisa_sql.jsp?dtIni=1&dtFim=2&nbrCqa=7500

Como fazer isso, alguém pode me ajudar?

Marcos

5 Respostas

H

Olá Marcos, boa noite.

  1. Não use AJUDA ou URGENTE em seus tópicos. Apenas irá afastar as pessoas.
  2. Para direcionar para outra página vc pode usar response.sendRedirect(). Já conhece?
  3. Vc pode fazer ou um Listener ou um Filter. Vc terá a cada requisição filtrar se o usuário já está logado, se não direciona para a página de login.
M

Boa noite Jakefrog! Obrigado pela dica da “AJUDA”…

É o seguinte… Gostaria de aprender a fazer um filter em meu código, poderia me dar uma ajuda de como implementar? Nunca fiz isso…

Preciso verificar se o usuário está logado, caso não esteja direciona para a tela de login… Pretendo usar isso para requisições de usuários que não estão logados e que vem de acessos por links.

Tenho essa páginas que fazem o login:

index.jsp
Logar.java
Usuario.java

Pode me ajudar com isso… atualmente verifico em todas as páginas se o usuário está logado, acho isso nada certo…

agradeço a ajuda

H

Boa noite Marcos.

Realmente verificar em todas as páginas não está certo.

Eu não tenho nenhum exemplo que eu tenha feito, mas fazendo um passeio pelo google achei isso aqui. http://viralpatel.net/blogs/2009/01/tutorial-java-servlet-filter-example-using-eclipse-apache-tomcat.html

Um exemplo de filter que inclusive é sobre login!

Caso queira buscar mais material eu utilizei a seguinte consulta [google]filter java tutorial[/google]

M

Obrigado pelas dicas…

JakeFrog, implementei o filtro e está funcionando corretamente… se o usuário tenta acessar de uma url secundária o filtro manda para a página index.jsp.

O problema é que após ele fazer o login na index.jsp preciso que redirecione para onde ele pretendia acessar, como fazer isso?

Poderia me ajudar?

Segue o que fiz até o momento:

package loginControle;

import java.io.IOException;   
import javax.servlet.Filter;   
import javax.servlet.FilterChain;   
import javax.servlet.FilterConfig;   
import javax.servlet.ServletException;   
import javax.servlet.ServletRequest;   
import javax.servlet.ServletResponse;   
import javax.servlet.http.HttpServletRequest;   
import javax.servlet.http.HttpServletResponse;   
import javax.servlet.http.HttpSession;   
  
  
public class Validator implements Filter{   
      
   public void destroy() {   
   }   
  
   public void doFilter(ServletRequest request, ServletResponse response, FilterChain filter) throws IOException, ServletException {   
      HttpServletRequest req = (HttpServletRequest) request;   
      HttpServletResponse res = (HttpServletResponse) response;   
         
      HttpSession session = req.getSession();   
      String user = (String) session.getAttribute("login_portal");   
      if(user!=null && user.trim().length()>0){   
         return;   
      }   
      res.sendRedirect("../index.jsp");   
   }   
  
   public void init(FilterConfig arg0) throws ServletException {   
   }   
}
<filter>
    <display-name>Validator</display-name>
    <filter-name>Validator</filter-name>
    <filter-class>loginControle.Validator</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>Validator</filter-name>
    <url-pattern>/cqa/*</url-pattern>
  </filter-mapping>
H

Desculpe a demora mas vamo lá.

Dentro do seu filtro vc pode fazer um request.getHeader(‘referer’); que vc irá capturar a URL original.

Aí vc salva esse valor (session/request/sei lah) e depois que a pessoa for validada vc redireciona para a url requisitada.

Que tal? [=

Criado 14 de setembro de 2010
Ultima resposta 16 de set. de 2010
Respostas 5
Participantes 2