Boa tarde Galera,
Seguinte,
Estou fazendo um filter, onde eu checo se o usuário está logado.
A questão, é que os dados do usuário estão em um ManagedBean de Session, e definitivamente não estou conseguindo acessar o contexto JSF pela minha classe filter.
Alguém pode me dar uma dica de como fazer isso?
A variavel auth sempre vem false, e ja tentei de diversas formas que encontrei aqui no forum.
Valeuuuuu 8)
[code]
/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
package com.innova.filter;
import com.innova.MB.Login;
import java.io.IOException;
import java.util.Enumeration;
import javax.faces.context.FacesContext;
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 AuthFilter implements Filter {
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest rq = (HttpServletRequest) request;
HttpServletResponse rp = (HttpServletResponse) response;
boolean auth = false;
try {
FacesContext context = FacesContext.getCurrentInstance();
HttpSession session = (HttpSession) context.getExternalContext().getSession(false);
auth = rq.getSession().getAttribute("Login") != null;
} catch (Exception e) {
System.out.println("Login NULOOOO");
}
System.out.println("Executando o filtro Auth! : "+auth);
System.out.println(" URL : "+rq.getRequestURL().toString());
//if (!auth && !rq.getRequestURL().toString().contains("expired")) {
if(rq.getRequestURL().toString().contains("RE") && (!auth)){
rp.sendRedirect(rq.getContextPath() + "/URexpired.jsp");
} else {
try {
chain.doFilter(request, response);
} catch (Exception e) {
e.printStackTrace();
}
}
}
public void destroy() {
}
public void init(FilterConfig config) throws ServletException {
}
}[/code]