`

用过滤器限制Web服务的访问权限

    博客分类:
  • JAVA
阅读更多
用过滤器限制Web服务的访问权限






package com.hellking.study.webservice;
import javax.servlet.FilterChain;
。。。
public class WebServicesFilter implements Filter
{
     //没有权限访问的IP地址
	static final String[] deniedIPList=new String[]{
		               "123.201",
		               "192.168",
		               "25.46",
		               "124.0.0.1"
		            };	
	 public boolean isIPDenied(String ipAddr)
     {
     	…
     }
	
	//过滤处理的方法
	public void doFilter(final ServletRequest req,final ServletResponse res,FilterChain chain)
		throws IOException,ServletException
	{
		 HttpServletRequest hreq = (HttpServletRequest)req;
         HttpServletResponse hres = (HttpServletResponse)res;
         //HttpSession session = hreq.getSession();
         String clientIp=req.getRemoteAddr();
         System.out.println("开始过滤。。。");
         if(isIPDenied(clientIp))
		 {
		 	 //验证不成功,让用户登录。
		 	throw new ServletException("无权限访问此Web服务!");
                        //res.sendRedirect("../failure.jsp");
		  }		
		 else
			 {
			 	//验证成功,继续处理
			   chain.doFilter(req,res);		 	
			 }	 
		 	
	}	
	…
}

Request获取url各种信息

 

url地址是http://www.test.com/testweb/default.aspx , 结果如下:

Request.ApplicationPath: /testweb
Request.CurrentExecutionFilePath: /testweb/default.aspx
Request.FilePath: /testweb/default.aspx
Request.Path: /testweb/default.aspx
Request.PathInfo:
Request.PhysicalApplicationPath: E:\WWW\testweb\
Request.PhysicalPath: E:\WWW\testweb\default.aspx
Request.RawUrl: /testweb/default.aspx
Request.Url.AbsolutePath: /testweb/default.aspx
Request.Url.AbsoluteUri: http://www.test.com/testweb/default.aspx
Request.Url.Host: www.test.com
Request.Url.LocalPath: /testweb/default.aspx

WebServicesFilter 过滤器限制了deniedIPList中指定的所有客户端。编写了过滤器后,需要在Web应用的部署描述符中指定使用此过滤器,并且把过滤器映射到目标 URL上。当然,你也可以开发其它过滤器进行访问控制,比如Web服务客户端登录时,把登录信息保存在HTTP会话中,当客户端访问受限的资源时,读取 HTTP会话中客户端信息以决定客户端是否有权限访问目标资源。

除了编写Servlet过滤器实现类外,还需要在web.xml中对它进行配置,并且把过滤器映射到要过滤的目标URI上。以下是过滤器的部署描述符。

<filter>
        <filter-name>WebServicesFilter</filter-name>
        <filter-class>com.hellking.study.webservice.WebServicesFilter</filter-class>
    </filter>    
    <filter-mapping>
        <filter-name>WebServicesFilter</filter-name>
        <url-pattern>/services/*</url-pattern>
    </filter-mapping>
url-pattern指定了过滤器要过滤的范围。"/services/*"表示以"/services"开始的URL将全部被过滤,这正是
AxisServlet默认的URL。通过上面的配置,只要客户端调用axis 
Web服务,就会被WebServicesFilter过滤器过滤。如果客户端IP地址在过滤器的deniedIPList中,那么就不能访问目标服务。
    


  


  
分享到:
评论

相关推荐

    IIS6.0 IIS,互联网信息服务

    需要注意的是,如果你要用一个IP地址对应多个不同的FTP服务器,则只能用使用不同的端口号的方法来实现,而不支持“主机头名”的做法。 对于已建立好的FTP服务器,在浏览器中访问将使用如“ftp://192.168.0.1”或是...

    PHP和MySQL Web开发第4版pdf以及源码

    第11章 使用PHP从Web访问MySQL数据库 11.1 Web数据库架构的工作原理 11.2 从Web查询数据库的基本步骤 11.2.1 检查与过滤用户输入数据 11.2.2 建立一个连接 11.2.3 选择使用的数据库 11.2.4 查询数据库 11.2.5...

    PHP和MySQL WEB开发(第4版)

    第11章 使用PHP从Web访问MySQL数据库 11.1 Web数据库架构的工作原理 11.2 从Web查询数据库的基本步骤 11.2.1 检查与过滤用户输入数据 11.2.2 建立一个连接 11.2.3 选择使用的数据库 11.2.4 查询数据库 11.2.5 检索...

    PHP和MySQL Web开发第4版

    第11章 使用PHP从Web访问MySQL数据库 11.1 Web数据库架构的工作原理 11.2 从Web查询数据库的基本步骤 11.2.1 检查与过滤用户输入数据 11.2.2 建立一个连接 11.2.3 选择使用的数据库 11.2.4 查询数据库 11.2.5...

    漂亮大方的WEB300全能商城

    ○整合功能卓越的《WEB300留言本》,界面美观、功能强大,支持留言审核、留言固顶、脏话过滤。 ○新增商品评论功能。 ○QQ在线咨询功能大大增强,可自由的打开或关闭在线咨询面板、可设置其显示位置、可显示中文...

    citrix 中文管理操作手册

    为 Web 访问配置策略和过滤器 72 过滤 Access Gateway 连接的必要条件 73 基于 Access Gateway 连接应用策略过滤器 73 基于现有 Access Gateway 策略应用策略过滤器 73 将策略应用于除基于 Access Gateway 的连接...

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    此外,《ASP.NET 4高级程序设计(第4版)》专门提供了两章的内容来教你如何用Ajax 技术制作快速响应的页面,以及如何使用微软的ASP.NETAJAX平台。另外,还专门介绍了ASP.NET4 新增的功能,如MVC 和动态数据等。  ...

    ASP.NET2.0高级编程(第4版)1/6

    25.9 设备过滤器936 25.10 ASP.NET移动应用程序  中的状态管理938 25.10.1 移动Web控件中  的ViewState939 25.10.2 管理会话状态940 25.10.3 隐藏字段940 25.11 小结942 第26章 建立和使用  XML Web服务943 26.1 ...

    2.ASP.NET.2.0.高级编程(第4版) [1/7]

    6.3.2 指定正确的ASP.NET权限给上传文件 172 6.3.3 理解文件大小的限制 173 6.3.4 把上传的文件放在Stream对象中 174 6.3.5 把文件内容从Stream对象移动到Byte数组中 175 6.4 MultiView和View服务器控件 175 ...

    鱼羊防采集v3.0测试版

    2.程序无法识别伪造的搜索引擎蜘蛛,前期放宽非人为访问的权限,收集蜘蛛的IP,当收集的蜘蛛IP完整时提高访问权限。便可不对SEO有影响并做到封锁采集器。 3.程序只能运行在IIS下,不支持其他WEB服务器。 4.需要对...

    geofence:GeoServer的高级授权管理器

    您可以使用所需的粒度来设置授权规则:这意味着您可以整体上允许或拒绝对给定层的访问,或者简单地隐藏某些属性,将输出限制为仅给定区域,或者仅允许访问子集通过使用CQL表达式对特征进行过滤来确定特征。...

    SOLARIS高级系统管理员指南

    5.3.2 访问权限 71 5.4 NIS+更新模块 72 5.5 NIS和NIS+兼容性 72 5.6 有名服务开关 73 5.7 NIS+管理 74 5.7.1 AdminSuite 74 5.7.2 NIS+命令 75 第6章 设置NIS+客户 79 6.1 安全考虑 79 6.2 预请求 80 6.3 NIS+客户...

    网络安全管理方案.doc

    在设计网络时有必要将公开服 务器(WEB、DNS、EMAIL等)和外网及内部其它业务网络进行必要的隔离,避免网络结构 信息外泄;同时还要对外网的服务请求加以过滤,只允许正常通信的数据包到达相应主 机,其它的请求服务...

    浅谈网络安全防护技术.doc

    通过对代理服务器的设置,可以对客户身份进行认 证和对各种信息进行过滤,限制有害信息的进入和限制对某些主机或域的访问.网络管 理人员也可以通过代理服务器的日志获取更多的网管信息。 2.3.4 数字签名。基于先进...

    TCP/IP技术大全(中文PDF非扫描版)

    16.7.3 访问权限和安全 160 16.8 LDAP服务器-服务器通信 161 16.8.1 LDAP数据互换格式(LDIF) 161 16.8.2 LDAP复制 162 16.9 设计LDAP服务 162 16.9.1 定义需求 162 16.9.2 设计策略 163 16.9.3 性能 164 16.9.4 网络...

    TCP-IP技术大全

    16.7.3 访问权限和安全 160 16.8 LDAP服务器-服务器通信 161 16.8.1 LDAP数据互换格式(LDIF) 161 16.8.2 LDAP复制 162 16.9 设计LDAP服务 162 16.9.1 定义需求 162 16.9.2 设计策略 163 16.9.3 性能 164 16.9.4 网络...

Global site tag (gtag.js) - Google Analytics