读书人

一个登陆印证的过滤器

发布时间: 2012-12-24 10:43:13 作者: rapoo

一个登陆验证的过滤器

    import javax.servlet.Filter;  import javax.servlet.FilterConfig;  import javax.servlet.ServletException;  import javax.servlet.ServletRequest;  import javax.servlet.ServletResponse;  import javax.servlet.FilterChain;  import java.io.IOException;  import javax.servlet.http.HttpServletRequest;  import javax.servlet.http.HttpServletResponse;  import javax.servlet.http.HttpSession;  import org.apache.log4j.Logger;    import com.gvninc.utils.StringUtils;    /**   * 登录验证过滤器 <br>   * Author:BluesLee <br>   * CreateDate:2008-6-21 <br>   * Modifier:BluesLee <br>   * ModifyDate:2008-6-21 <br>   * Version:1.0 <br>   * Copyright(c)2008 深蓝工作室 <br>   * All right reserved. <br>   *   */  public class LoginRightFilter implements Filter {  private Logger logger = Logger.getLogger(this.getClass());    /**   * 未登陆时跳转目标页面   */  private static String FORWARD = "/login.jsp";  /**   * 登录验证过滤器初始化  <br>   * Author:BluesLee <br>   * CreateDate:2008-6-21 <br>   * Modifier:BluesLee <br>   * ModifyDate:2008-6-21 <br>   * Version:1.0 <br>   *   * @param filterConfig   * @throws ServletException   */  public void init(FilterConfig filterConfig) throws ServletException {  String forward = filterConfig.getInitParameter("forward");  StringUtils util=new StringUtils();  if (util.isNotNullStr(forward)) {  LoginRightFilter.FORWARD = forward;  }  }    /**   * 登录验证过滤  <br>   * Author:BluesLee <br>   * CreateDate:2008-6-21 <br>   * Modifier:BluesLee <br>   * ModifyDate:2008-6-21 <br>   * Version:1.0 <br>   *   * @param servletRequest   * @param servletResponse   * @param filterChain   * @throws IOException   * @throws ServletException   */  public void doFilter(ServletRequest servletRequest,  ServletResponse servletResponse, FilterChain filterChain)  throws IOException, ServletException {  HttpServletRequest request = (HttpServletRequest) servletRequest;  HttpServletResponse response = (HttpServletResponse) servletResponse;  HttpSession session = request.getSession(true);    Object user = session.getAttribute("user");    if (user != null) {  filterChain.doFilter(servletRequest, servletResponse);  } else {  logger.warn("用户未登陆,请先登陆!");  String url = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort() + request.getContextPath() + LoginRightFilter.FORWARD;  StringBuffer scriptString=new StringBuffer();  scriptString.append(" <script>\n\r");  scriptString.append("self.top.location.href=\""+url+"\"\n\r");  scriptString.append(" </script>\n\r");  response.getOutputStream().print(scriptString.toString());  }  }  public void destroy() {  }  }   
?

读书人网 >编程

热点推荐