Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

会员投稿 投稿指南 本期推荐:
搜索:
您的位置: Linux安全网 > Linux编程 > » 正文

JavaWeb项目过滤器的编写(5)

来源: 未知 分享至:
</a>

    <input type=\'submit\'/>

    </form>

</body>

使用一个是超链接的形式,一个是通过servlet来跳转,当点击提交按钮时会被拦截,而直接点击超链接就不会被拦截,因为我们的Filter中配置的是拦截.do形式的,如果要拦截jsp也可以使用<url-pattern>DownLoadExcel.jsp </url-pattern>

再添加一个错误页面Error.jsp

<body>

<h1>对不起,你没有权限</h1>

</body>

三、用户浏览权限过滤

(1)Java class编写:
import java.io.IOException;    
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;   
  
public class RightFilter implements Filter {   
  
    public void destroy() {   
           
     }    
    public void doFilter(ServletRequest sreq, ServletResponse sres, FilterChain arg2) throws IOException, ServletException {   
        // 获取uri地址   
         HttpServletRequest request=(HttpServletRequest)sreq;   
         String uri = request.getRequestURI();   
         String ctx=request.getContextPath();   
         uri = uri.substring(ctx.length());   
         //判断admin级别网页的浏览权限   
         if(uri.startsWith(\"/admin\")) {   
            if(request.getSession().getAttribute(\"admin\")==null) {   
                 request.setAttribute(\"message\",\"您没有这个权限\");   
                 request.getRequestDispatcher(\"/login.jsp\").forward(sreq,sres);   
                return;   
             }   
         }   
        //判断manage级别网页的浏览权限   
        if(uri.startsWith(\"/manage\")) {   
            //这里省去   
             }   
         }   
        //下面还可以添加其他的用户权限,省去。   
  
     }   
  
    public void init(FilterConfig arg0) throws ServletException {   
           
     }   
  
}
(2)在web.xml中加入Filter的配置,如下:
<!-- 判断页面的访问权限 -->  
  <filter>  
     <filter-name>RightFilter</filter-name>  
      <filter-class>cn.itkui.filter.RightFilter</filter-class>  
  </filter>  
  <filter-mapping>  
      <filter-name>RightFilter</filter-name>  
      <url-pattern>/admin/*</url-pattern>  
  </filter-mapping>  
  <filter-mapping>  
      <filter-name>RightFilter</filter-name>  
      <url-pattern>/manage/*</url-pattern>  
  </filter-mapping>  


Tags:
分享至:
最新图文资讯
1 2 3 4 5 6
验证码:点击我更换图片 理智评论文明上网,拒绝恶意谩骂 用户名:
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史