/* * FiltroSegurancaOrion.java * * Created on 12 de Outubro de 2007, 19:47 */ package br.uff.ic.oceano.filtro; import br.uff.ic.oceano.controller.SessaoDoUsuario; import java.io.*; import javax.servlet.http.*; 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 org.apache.log4j.Logger; /** * * @author thiago * @version */ public class FiltroSeguranca implements Filter { private String PAGINA_LOGIN = "/login.oceano"; private FilterConfig filterConfig = null; private Logger logger = Logger.getLogger( "FiltroSeguranca" ); public FiltroSeguranca() { } /** * * @param request The servlet request we are processing * @param result The servlet response we are creating * @param chain The filter chain we are processing * * @exception IOException if an input/output error occurs * @exception ServletException if a servlet error occurs */ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest servReq = (HttpServletRequest) request; HttpSession session = servReq.getSession(); if(logger.isDebugEnabled()) { logger.debug("Iniciando filtro de requisicao a :" + servReq.getContextPath()); } SessaoDoUsuario sessao = (SessaoDoUsuario) session.getAttribute("SessaoDoUsuario"); // String urlRequisitada = servReq.getRequestURI(); // filtro normal if(sessao==null || sessao.getUsuarioCorrente()==null) { ((HttpServletResponse)response).sendRedirect(servReq.getContextPath() + PAGINA_LOGIN); if(logger.isDebugEnabled()) { logger.debug("Requisicao filtrada, chain negado. Redirecionando para :\"" + servReq.getContextPath() + PAGINA_LOGIN +"\""); } return; } if(logger.isDebugEnabled()) { logger.debug("Requisicao filtrada, chain autorizado."); } chain.doFilter(request, response); } /** * Return the filter configuration object for this filter. */ public FilterConfig getFilterConfig() { return (this.filterConfig); } /** * Set the filter configuration object for this filter. * * @param filterConfig The filter configuration object */ public void setFilterConfig(FilterConfig filterConfig) { this.filterConfig = filterConfig; } /** * Destroy method for this filter * */ public void destroy() { } /** * Init method for this filter * */ public void init(FilterConfig filterConfig) { this.filterConfig = filterConfig; } }