Interceptar acesso com Filtro ( login )

0 respostas
vitimnunes

pessoal, estou fazendo um projeto e estou com uma certa dificuldade em filtros. eu preciso de um filtro que intercepte a conexão para requerir login. os problemas começam por que eu queria redirecionar para a pagina login.jsp, mas não está dando certo. com forward ele vai pra página de login, mas não lê o arquivo css da página =/, e quando faço login ele gera uma excessão. eu to com muitos problemas, aqui vai o código do doFilter do SecurityFilter

public void doFilter(ServletRequest request, ServletResponse response,
    FilterChain chain) throws IOException, ServletException
  {
    HttpServletRequest httpServletRequest   = ( HttpServletRequest )request;
    HttpServletResponse httpServletResponse = ( HttpServletResponse )response;
    HttpSession session = httpServletRequest.getSession();
    String usuarioLogin = ( String )session.getAttribute( Usuario.KEY );

    if( !httpServletRequest.getRequestURI().equals( "/login.jsp" ) ) {
      if( usuarioLogin == null ) {
        httpServletResponse.sendRedirect( "login.jsp" );
      }

      chain.doFilter(request, response);
    }
  }

o código do servlet que faz login

protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException
  {
    String login = request.getParameter( "login" );
    String senha = request.getParameter( "senha" );

    try {
      LoginDAO loginDAO = new LoginDAO( login, senha );

      if( loginDAO.parse() ) {
        HttpSession session = request.getSession();
        session.setAttribute( Usuario.KEY, login );
      }
    } catch( SQLException ex ) {
      ex.printStackTrace();
    }
  }

se puderem me ajudar, eu agradeço muito

Criado 1 de junho de 2009
Respostas 0
Participantes 1