`

利用Filter限制用户浏览权限[转]

阅读更多

在一个系统中通常有多个权限的用户。不同权限用户的可以浏览不同的页面。使用Filter进行判断不仅省下了代码量,而且如果要更改的话只需要在Filter文件里动下就可以。
以下是Filter文件代码:



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 {   
           
     }   
  
}

<!--
判断页面的访问权限
-->  
  <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>  

web.xml中加入Filter的配置,如下:

<filter>  

        <filter-name>EncodingAndCacheflush</filter-name>  
        <filter-class>EncodingAndCacheflush</filter-class>  
        <init-param>  
            <param-name>encoding</param-name>  
            <param-value>UTF-8</param-value>  
        </init-param>  
    </filter>  
    <filter-mapping>  
        <filter-name>EncodingAndCacheflush</filter-name>  
        <url-pattern>/*</url-pattern>  
    </filter-mapping>  
要传递参数的时候最好使用form进行传参,如果使用链接的话当中文字符的时候过滤器转码是不会起作用的,还有就是页面上


form
method也要设置为post,不然过滤器也起不了作用。

分享到:
评论

相关推荐

    Java Filter 限制用户浏览权限

    Java Filter 限制用户浏览权限,这是个很简单的例子,初学者也能看懂!

    利用Filter限制用户浏览权限

    利用java的filter实现用户浏览权限,不同权限用户的可以浏览不同的页面。

    利用Filter拦截用户登录

    用户在没有登录的情况下,无法浏览除登录页面之外的其他页面,并且如果用户名为空,也不能进如其他页面。

    filter 过滤用户权限

    filter 过滤非登录用户权限源码实例

    ISAPI Filter 限制 IIS 多线程访问

    使用 ISAPI Filter 实现的限制 IIS 多线程访问程序。主要应用在下载系统,或者使用 IIS 做的流媒体点播系统中,稍加修改可以使其具有认证功能。在程序中已经对 用户认证 事件做了直接返回的处理。使用本 Filter 可以...

    ISAPI Filter 限制 IIS 多线程访问 .rar

    ISAPI Filter 限制 IIS 多线程访问 .rar

    Filter进行权限控制

    用filter对登录进行控制,如果想访问某个目录下的文件,必须先登录,如果没有登录会跳转到登录页面。username:fang,password:11

    Filter控制页面的访问权限

    Filter控制页面的访问权限Filter控制页面的访问权限Filter控制页面的访问权限

    预防XSS攻击和SQL注入XssFilter

    (8)获取客户端信息,例如用户的浏览历史、真实IP、开放端口等; (9)控制受害者机器向其他网站发起攻击; (10)结合其他漏洞,如CSRF漏洞,实施进一步作恶; (11)提升用户权限,包括进一步渗透网站; (12)...

    java中需要用到的各种过滤器

    java中各种过滤器 浏览器不缓存页面的过滤器 检测用户是否登陆的过滤器 资源保护过滤器 利用Filter限制用户浏览权限

    翻转图像的Transform Filter

    一个最简单的自定义Transform Filter,实现图像翻转的功能,从这个Filter可以扩展出更复杂的Transform Filter。

    ISAPI Filter 限制 IIS 多线程访问!

    使用 ISAPI Filter 实现的限制 IIS 多线程访问程序。主要应用在下载系统,或者使用 IIS 做的流媒体点播系统中,稍加修改可以使其具有认证功能。在程序中已经对 用户认证 事件做了直接返回的处理。使用本 Filter 可以...

    利用java filter 实现业务异常拦截源码

    利用java filter 实现业务异常拦截 跳转到错误信息提示页面 我们在做项目中肯定都会遇到自定义业务异常 ,然后将业务异常信息跳转的统一的信息提示页面的情况,比如我们在struts的时候我们会用到struts的异常处理...

    JSP权限管理系统filter

    里面有java和jsp源码!大家可以产考下,不好的话记得通知我!

    六个有用的java过滤器

    六个有用的java过滤器,包括使浏览器不缓存页面的过滤器、检测用户是否登陆的过滤器、字符编码的过滤器、资源保护过滤器、利用Filter限制用户浏览权限、利用Filter过滤非法关键字。

    shiroFilter权限验证

    -- 用户访问未对其授权的资源时,所显示的连接 --&gt; &lt;!-- 若想更明显的测试此属性可以修改它的值,如unauthor.jsp,然后用[玄玉]登录后访问/admin/listUser.jsp就看见浏览器会显示unauthor.jsp --&gt; /&gt; ...

    一个翻转图像的Transform Filter

    一个最简单的自定义Transform Filter,实现图像翻转的功能,从这个Filter可以扩展出更复杂的Transform Filter。

    使用Filter实现登录权限验证

    主要为大家详细介绍了使用Filter实现登录权限验证,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    filter过滤器实现权限访问控制以及同一账号只能登录一台设备

    filter过滤器实现权限访问控制以及同一账号只能登录一台设备

    jsp filter 过滤器判断用户是否登录

    jsp filter 过滤器判断用户是否登录的一个demo,可按照里面说明来完成

Global site tag (gtag.js) - Google Analytics