Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Carcleo

Redirecionar da página de login pelo filtro

Recommended Posts

Bom Dia!

 

Estou com a seguinte dificuldade:

 

Tenho uma página de login e gostaria de que toda vez que o usuário chegasse lá, fosse feita uma verificação.

 

Caso ele já estiver logado, ele é redirecionado para a página principal.

 

Eu consegui isso com o código abaixo:

<%@ page import="java.util.*" %><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <jsp:useBean id="validaLogin" class="dao.admin.TestaLoginAdmin" /> <c:set var="AdminLogado" value="${validaLogin.testaLoginAdmin(pageContext.request)}" /> <c:choose>  <c:when test="${AdminLogado != null}">      <script>window.location="principal.jsp"; </script>  </c:when></c:choose> <div id="indexMeio">     <h2>Formulário de Acesso ao ambiente administrativo</h2><br /><br />        <form action="../LoginAdminServlet" method="post">      <label>Login</label> : <input type="text" name="login" id="login" maxlength="10" required="required" /><br /><br />      <label>Senha</label> : <input type="password" name="senha" id="senha" maxlength="10" required="required" /><br /><br /><br />            <input type="submit" value="Entrar">    </form><br /> </div>

Sim, funciona normalmente.

 

Mas eu tenho um filtro para verificar nas outras páginas se o usuário esta logado para poder acessá-las e esse filtro bloqueia o script acima dando erro de servidor.

 

Mas pensei se isso não poderia ser feito diretamente no filtro mas não estou conseguindo.

Podem me ajudar?

Veja o filtro:

package filtro; import java.io.IOException;import java.util.ArrayList;import java.util.List; 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.annotation.WebFilter;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession; @WebFilter("/admin/*")public class AdminFilter implements Filter {    private static List<String> allowedURIs;        public AdminFilter()     {        // TODO Auto-generated constructor stub    } public void destroy() {// TODO Auto-generated method stub} public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException     {               HttpServletRequest req = (HttpServletRequest) request;        HttpServletResponse res = (HttpServletResponse) response;        HttpSession sessao= req.getSession();                   if(            sessao.getAttribute("admin")!= null ||             precisaDireitoAcessoURI(req.getRequestURI()) ||             req.getRequestURI().equals("/imwsaogotardo/admin/") ||             req.getRequestURI().equals("/imwsaogotardo/admin")          )           {               chain.doFilter( request, response );           }           else           {                   res.sendRedirect("index.jsp");             }                } public void init(FilterConfig fConfig) throws ServletException     {        if(allowedURIs == null)        {            allowedURIs = new ArrayList<String>();            allowedURIs.add("/imwsaogotardo/admin/index.jsp");            allowedURIs.add("/imwsaogotardo/admin/retornos/");        }    } public boolean precisaDireitoAcessoURI(String uriAtual) {    for (String uri: allowedURIs)    {       if (uriAtual.contains(uri))           return true;   }    return false;} }

Ou de repente um recurso para funcionarem juntos o filtro e esse script

 

 

tentei da forma abaixo mas também não funcionou dentro dol filtro:

 System.out.println(req.getRequestURI());  if(         sessao.getAttribute("admin")!= null && (                                                  req.getRequestURI() == "/imwsaogotardo/admin/index.jsp" ||                                                  req.getRequestURI() == "/imwsaogotardo/admin/"                                                )  ) {     res.sendRedirect("principal.jsp"); }

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.