Guilherme, coloquei o ponto de debug. O usuario é null.
Implementei a Filtro de Auditoria da seguinte forma:
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.HttpServletRequest;
import javax.servlet.http.HttpSession;
import br.com.alura.gerenciador.Usuario;
@WebFilter(urlPatterns = "/*")
public class FiltroDeAuditoria implements Filter {
@Override
public void destroy() {
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpSession session = req.getSession();
Usuario usuario = (Usuario) session.getAttribute("usuarioLogado");
if (usuario != null && usuario.getEmail() != null){
System.out.println("Usuario " + usuario.getEmail() + " acessando a URI "
+ req.getRequestURI());
}
chain.doFilter(request, response);
}
@Override
public void init(FilterConfig config) throws ServletException {
}
}
Pensei que ao fazer o login com email /senha válidos ( guilherme.silveira@alura.com.br / silveira ) o usuário não estaria mais null. Mas ele sempre é null.
Vc sabe dizer porque?
Eu pensei que estaria instanciando o objeto ao fazer: Usuario usuario = (Usuario) session.getAttribute("usuarioLogado");
E que ele não seria null quando eu entrasse com email/senha válidos, mas não é isso.
Vc consegue me explicar o que faltou eu fazer? E pq?