Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

filtroDeAuditoria

so mostra

Usuario: <deslogado> acessando a URI /gerenciador/
Usuario: <deslogado> acessando a URI /gerenciador/login
Usuario: <deslogado> acessando a URI /gerenciador/login
Usuario: <deslogado> acessando a URI /gerenciador/login
Usuario: <deslogado> acessando a URI /gerenciador/busca
Usuario: <deslogado> acessando a URI /gerenciador/busca
Usuario: <deslogado> acessando a URI /gerenciador/NovaEmpresa
Usuario: <deslogado> acessando a URI /gerenciador/NovaEmpresa
Usuario: <deslogado> acessando a URI /gerenciador/CadastroFornecedores.html
Usuario: <deslogado> acessando a URI /gerenciador/NovaEmpresa
Usuario: <deslogado> acessando a URI /gerenciador/busca

nao aparece o usuario

package br.com.alura.gerenciador.web;

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.annotation.WebFilter;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;

@WebFilter(urlPatterns="*")
public class FiltroAuditoria implements Filter{

    @Override
    public void destroy() {

    }

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
            throws IOException, ServletException {

        HttpServletRequest req = (HttpServletRequest) request;
        String uri = req.getRequestURI();
        String usuario = getUsuario(req);
        System.out.println("Usuario: " + usuario + " acessando a URI " + uri);
        chain.doFilter(request, response);        

    }

    private String getUsuario(HttpServletRequest req) {

        String usuario = "deslogado";

        Cookie[] cookies = req.getCookies(); 

        if (cookies == null) return usuario;

        for (Cookie cookie : cookies) {
            if(cookie.getName().equals("usuairo.logado")){
                usuario = cookie.getValue();
            }
        }
        return usuario;
    }

    @Override
    public void init(FilterConfig arg0) throws ServletException {

    }

}
2 respostas
solução!

Fala Bruno blz?

cara acredito que o problema seja nessa linha:

if(cookie.getName().equals("usuairo.logado")){

você escreveu "usuario" errado:

if(cookie.getName().equals("usuario.logado")){

obrigado, era isso mesmo, que marcação a minha, valeu mesmo.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software