请问:
     我有个后台,但是我后台的权限是要先管理员登陆,如果没有的话,过滤器要如何拦截后台的其他管理员操作路径,并且保证没有Bug .
     

解决方案 »

  1.   

    在Tomcat服务器运行的时候,我前台的.jsp放在一个文件夹里,后台的.jsp放在一个文件夹里,我后台是管理员的操作,如果要操作后台 ,必须要先登陆,    否则过滤器会将你返回到你的登陆界面,
         请问这个过滤器要如何操作,才可以实现这样的效果,并且保证没有Bug
                                                  
                                                                             谢谢
      

  2.   

    web.xml:
    <filter>
      <filter-name></filter-name>
      <filter-class></filter-class>
    </filter>
    <filter-mapping>
      <filter-name></filter-name>
      <url-pattern></url-pattern><!-- 这里配置你要验证的文件路径 -->
    </filter-mapping>
      

  3.   

    把登陆后的用户名放入session,如果session没有,则将返回页设置为登陆页
      

  4.   

    filter class 示例:
    public void doFilter(ServletRequest request, ServletResponse response,
    FilterChain chain) throws IOException, ServletException {
    HttpServletRequest hreq = (HttpServletRequest) request;
    HttpServletResponse hres = (HttpServletResponse) response; if (!validate(hreq, hres)) {// 校验没有通过
    hreq.getRequestDispatcher(signOnPage).forward(hreq, hres);
    } else {
    chain.doFilter(request, response); // -- Process the response -- \\
    }
    }
      

  5.   

    你那个!validate(hreq,hres) 这个验证方法??   在这里面用Session来判断,是不是有Bug阿
      

  6.   

    web.xml
    <filter>
    <filter-name>adminfilter</filter-name>
    <filter-class>xxx.xxx</filter-class>  <!--对应后台过滤器类-->
    </filter>
    <filter-mapping>
    <filter-name>adminfilter</filter-name>
    <url-pattern>/admin/*.*</url-pattern>  <!--admin是存放管理员页面的目录-->
    </filter-mapping>后台过滤器
    public class LoginSession implements Filter { public void init(FilterConfig arg0) throws ServletException {

    }
            
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
                    //身份验证,防止盗链
    HttpServletRequest myRequest = (HttpServletRequest)request;
    HttpSession mySession = myRequest.getSession();
    if(mySession.getAttribute("myUserVO")==null){
    PrintWriter myWriter = response.getWriter();
    myWriter.print("<script>parent.location.href='/AssetManageG4/login/login.jsp'</script>");
    }
    chain.doFilter(request,response);
    } public void destroy() {

    }
    }