Filter
-----------
package org.imf.filter.SecurityFilter;

/*
 * Created on 2005-Jan-03
 */

import javax.servlet.Filter;
import javax.servlet.FilterConfig;
import javax.servlet.ServletRequest ;
import javax.servlet.ServletResponse;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;

import org.imf.dmfs.ui.bean.admin.usermanagement.UserBean ;

import java.io.IOException;

public class SecurityFilter implements Filter
{
    //the login page uri
    private static final String SIGNON_PAGE_URI = "login.jsf";

    public void init( FilterConfig filterConfig ) throws ServletException
    {
    }

    public void doFilter( ServletRequest req, ServletResponse res, FilterChain chain ) throws IOException, ServletException
    {
        HttpServletRequest request = (HttpServletRequest )req;
        String url = "">        String query = request.getQueryString();
        
        if( !this.authorize( (HttpServletRequest)req ) )
        {
            request.getRequestDispatcher ( SIGNON_PAGE_URI ).forward( req, res );
        }
        else
        {
            chain.doFilter( req, res );
        }
    }

    public void destroy()
    {
    }

    private boolean authorize( HttpServletRequest req )
    {
        Object obj = req.getSession().getAttribute( UserBean.KEY_CURRENT_USER );
        return obj != null;
    }
}
 

Configuration:
----------------------

<filter>
  <filter-name>SecurityFilter</filter-name>
  <display-name>SecurityFilter</display-name>
  <description>SecurityFilter</description>
  <filter-class>org.imf.filter.SecurityFilter</filter-class>
 </filter>

<filter-mapping>
  <filter-name>SecurityFilter</filter-name>
  <url-pattern>*.jsf</url-pattern>
 </filter-mapping>

Reply via email to