首页> 中国专利> 实现用于WEB服务的授权策略的方法和系统

实现用于WEB服务的授权策略的方法和系统

摘要

一种用于实现用于web服务的授权策略的方法、系统和计算机程序产品可包括定义用于访问web服务的授权策略。所述方法、系统和计算机程序产品还可包括将授权策略附加到对web服务的服务定义。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2010-12-01

    授权

    授权

  • 2008-03-19

    实质审查的生效

    实质审查的生效

  • 2008-01-30

    公开

    公开

说明书

技术领域

本发明涉及通过诸如互联网或专用网络的网络提供的服务或web服务,更具体地说,本发明涉及用于实现用于web服务的授权策略的方法和系统。

背景技术

仅针对授权的用户而控制对经由互联网、专用网络或类似网络提供的服务(诸如web服务等)的访问可能会产生一定的问题。特别是在单个通用资源定位符(URL)向多个不同群组的授权用户提供不同服务的情况下会出现问题。在简单对象处理协议/超文本传输协议(SOAP/HTTP)中,可保护与HTTP绑定相应的URL。这在URL仅提供将被保护的web服务的情况下可成为适当的保护,但是在上述的可在相同URL下处理多个受限制的访问web服务的情况下会不足以形成适当的保护。

可比较接近服务实现地保护web服务;例如,可使用J2EE访问安全性来保护与Java 2企业版本(J2EE)模型联合使用的SunMicrosystemTM Enterprise JavaBeansTM代码。Java、EnterpriseJavaBeans和Sun Microsystems是Sun Microsystems有限公司在美国、其它国家或美国和其它国家两者中的商标。这种类型的安全配置的一个问题在于:当涉及网关、代理服务器等时,会难以执行访问控制。可存在能够执行访问控制的各个层,所述访问控制需要在各个层上被一致处理。

发明内容

根据本发明的实施例,一种用于实现用于web服务的授权策略的方法可包括:基于服务定义(例如,关于端口或端口类型定义、绑定、服务的质量和功能、服务名称、消息等)来定义用于访问web服务的授权策略。所述方法还可包括:将授权策略附加到对于web服务的服务定义中。

根据本发明的另一方面,一种用于实现用于web服务的授权策略的系统可包括对于web服务的服务定义。所述系统还可包括可附加到服务定义的用于访问web服务的授权策略。

根据本发明的另一方面,一种用于实现用于web服务的访问策略的计算机程序产品可包括其中包含有计算机可读程序代码的计算机可读介质。所述计算机可读介质可包括被配置以定义用于访问web服务的授权策略的计算机可读程序代码。所述计算机可读介质还可包括被配置以将授权策略附加到对于web服务的服务定义中的计算机可读程序代码。

通过研究以下参照附图对本发明的非限制性详细描述,仅由权利要求所限定的本发明的其它方面和特点将对于本领域的普通技术人员变得清楚。

附图说明

图1是根据本发明实施例的实现用于web服务的授权策略的方法的示例的流程图。

图2是根据本发明实施例的实现用于web服务的授权策略的方法的示例的流程图。

图3是根据本发明实施例的用于将策略附加到端口类型的、以web服务描述语言(WSDL)的程序或计算机可执行代码的示例。

图4是根据本发明实施例的用于对不同命名的个体定义角色的授权策略文件的以WSDL的程序或计算机可执行代码的示例。

图5是根据本发明另一实施例的实现用于web服务的授权策略的方法的示例的流程图。

图6是根据本发明实施例的实现用于web服务的授权策略的示例性系统。

具体实施方式

以下对实施例的详细描述涉及示出本发明具体实施例的服务。具有不同结构和操作的其它实施例不脱离本发明的范围。

如本领域的技术人员可理解到的,可将本发明实现为方法、系统或计算机程序产品。因此,本发明可采取以下形式:全硬件实施例、全软件实施例(包括固件、驻留软件、微代码等)或组合软件与硬件方面的实施例,在这里,通常将其称为“电路”、“模块”或“系统”。此外,本发明可采取计算机可用存储介质上的计算机程序产品的形式,所述计算机可用存储介质具有在介质中包含的计算机可读程序代码。

可采用任何适合的计算机可读介质。作为示例但并非进行限制,计算机可用或计算机可读介质可以是电、磁、光、电磁、红外或半导体系统、设备、装置或传播介质。更加具体的计算机可读介质的示例(非穷尽列表)可包括以下内容:具有一条或多条线缆的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪速存储器)、光纤、便携式压缩盘只读存储器(CD-ROM)、光存储装置、诸如支持互联网或内联网的传输介质、或磁存储装置。应注意到,所述计算机可用或计算机可读介质甚至可以是纸张或其它适合的介质,其中,当例如可通过对纸张或其它介质的光学扫描以电子方式捕获所述程序,随后对其进行编译、解释、或者在必要的情况下另外以适合的方式对所述程序进行处理,并随后将其存储在计算机存储器中时,将程序印刷在所述纸张或其它适合的介质上面。在本文档的上下文中,所述计算机可用或计算机可读介质可以是任何下述介质,所述介质可包含、存储、传递、传播或传输所述程序,以便通过或结合指令执行系统、设备或装置来使用。

可用面向对象的编程语言(诸如Java、Smalltalk、C++等)来编写用于实现本发明的操作的计算机程序代码。然而,也可用传统的过程编程语言(诸如“C”编程语言或类似的编程语言)来编写用于实现本发明的操作的计算机程序代码。可全部在用户的计算机上、部分地在用户的计算机上、作为独立的软件包、部分地在用户计算机上且部分地在远程计算机上、或者全部在远程计算机或服务器上执行所述程序代码。在后者的情况中,可通过局域网(LAN)或广域网(WAN)将远程计算机连接到用户的计算机,或者可与外部计算机实现所述连接(例如,通过利用互联网服务提供商的互联网来进行所述连接)。

以下将参照根据本发明实施例的方法、设备(系统)和计算机程序产品的框图和/或流程图来描述本发明。应理解,可通过计算机程序指令来实现流程图和/或框图中的每个块、以及流程图和/或框图中的块的组合。可将这些计算机程序指令提供给通用计算机、专用计算机或其它可编程数据处理设备的处理器以产生机器,从而通过计算机或其它可编程数据处理设备的处理器执行的指令创建用于实现在流程图和/或框图中的块或若干块中指定的功能/动作的装置。

还可将这些计算机程序指令存储在计算机可读存储器中,所述计算机可读存储器可指导计算机或其它可编程数据处理设备以特定方式工作,从而存储在计算机可读存储器中的指令生成制造产品,其包括用于实现流程图和/或框图的块或若干块中指定的功能/动作的指令装置。

还可将计算机程序指令载入计算机或其它可编程数据处理设备,以便促使一系列操作步骤在计算机或其它可编程设备上执行以生成计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图和/或框图中的块或若干块中指定的功能/动作的步骤。

图1是根据本发明实施例的实现用于web服务的授权策略的方法100的示例的流程图。在块102中,可定义用于访问web服务等的授权策略。授权策略定义可基于服务定义等。例如,授权策略可基于具体的绑定(例如,URL)、或在其端口类型中定义的操作、或者可作为WSDL定义的一部分或与WSDL相关的伪象的其它服务定义元素,诸如属性、元数据等。在块104中,可依据策略描述将授权策略附加到服务定义。在块106中,可依据角色或基于用户所需的角色在抽象级保护对端口类型的每个操作。例如,可依据“TravelAgent”角色定义在行程服务web站点可称为“ViewItinerary”的操作,从而就组成许可的内容而言,所述定义是抽象的。在部署期间基于所述环境,还可进行进一步的配置,从而可在给定的行程代理中,将TravelAgent角色分配给轻量级目录访问协议(LDAP)目录中的AgentGroup。

图2是根据本发明另一实施例的实现用于web服务的授权策略的方法200的示例的流程图。在块202中,可将web服务部署为包括web服务描述语言(WSDL)定义。在块204中,可针对对WSDL消息、WSDL端口类型等的访问而指定授权策略文档或定义。如果需要的话,则授权文档或定义可在控制对消息部分、web服务等的访问以进行精细粒度的访问控制中提供灵活性。在块206中,可将授权策略定义附加到端口类型、操作、消息等。图3是根据本发明实施例的用于将策略附加到端口类型的、以WSDL的程序或计算机可执行代码300的示例。

为了执行对于访问WSDL服务的方法层控制,即策略文档(acct-authz-policy.xml),该XML可具有更精细粒度的定义。这种情况下的授权策略可参考消息、协议等中的元素,从而粒度不仅处在操作级别,而且还可基于在服务启用期间的给定消息或上下文(例如,时间,服务请求者是否在移动装置上、在安全位置中等)。为了对消息本身执行访问控制,所述消息可参考策略文档。所述参考可结束于指向授权策略定义。图4是根据本发明实施例的用于对不同命名的个体定义角色的授权策略文件的、以WSDL的程序或计算机可执行代码400的示例。可根据所需的粒度或控制的级别,将所述定义附加到端口类型、操作、消息等。

图5是根据本发明另一实施例的实现用于web服务的授权策略的方法500的示例的流程图。在块502中,网关服务器可接收对服务的请求。Web服务器可以是web服务网关、代理服务器等。对服务的请求可用于执行任务、事务,以便提供信息或数据或者类似的操作。在块504中,网关服务器可检查所述请求。所述网关服务器可检查所述请求以确定请求或者请求者或用户是否需要授权以便访问满足所述请求所需的web服务,或者,网关服务器可检查所述请求以用于其它目的。

在块506中,网关服务器可审查授权策略文档或定义。如先前所讨论的,可将授权策略文档或定义附加到或者关联于和请求相关的端口类型、操作、消息等。在块508中,可确定对用于满足请求的web服务的请求或访问是否受保护或者访问是否被限于特定用户。如果对于web服务的所述请求或访问没有受到保护或限制,则方法500可进行到块510。在块510中,可将请求分派到适当的应用服务器以满足所述请求。随后,方法500可结束于终止522。

如果在块508中,对web服务的请求或访问受到保护,则方法500可进行到块512。在块512中,可对用户的身份进行认证和验证,以保证所述用户被授权访问满足所述请求所需要的web服务。在块514中,可确定用户是否被授权从块512进行请求。如果用户没有被授权进行请求,则方法可进行到块516。在块516中,可将消息发送到用户,这实际上指示用户不是授权用户且无法访问用于满足所述请求的web服务。随后,方法500可结束于终止522。

如果在块514,用户是授权用户,则方法可进行到块518。在块518,则可授予用户需要的角色以访问用于满足所述请求的web服务,并且,可将所述请求分派到适当的应用服务器以满足所述请求。

在块520中,可再次检查请求或消息,并且可基于应用服务器可访问的策略文档或定义在应用服务器中实施对web服务的授权。一旦在SOAP级处理请求,则可将所述请求分派到实现级,并且可满足所述请求,将结果返回用户。

图6是根据本发明实施例的实现用于web服务的授权策略的示例性系统600。系统600可包括一个或多个网关服务器,诸如反向代理服务器602和web服务网关604或类似服务器。使用超文本传输协议(HTTP)或类似协议的用户606可访问反向代理服务器602。可由使用SOAP/HTTP类型的协议等的用户608以及可采用SOAP/Java消息传送服务(JMS)或类似协议或服务的用户610来访问web服务网关服务器604。可在用户或客户606-610与反向代理服务器602和web服务网关604之间设置防火墙612。

反向代理服务器602和web服务网关614可访问授权策略614。如先前所讨论的,授权策略616可以是WSDL定义、授权文档等。授权策略的示例可包括Acct-authz-policy.xml、基于角色的authz等,并且可将其应用于Enterprise JavaBeans、.NET应用或类似应用。反向代理服务器602或web服务网关604可响应于接收到请求来审查涉及所述请求的适当授权策略。服务器602或网关604可基于对授权策略614的审查,响应于请求是被保护的来认证进行请求的用户606-610并验证请求用户的身份。可向用户606-610授予请求所需的角色,并且可响应于用户606-610被授权进行请求而将请求分派给应用服务器616。

应用服务器616可提供各种功能。应用服务器616可用作用于运行诸如消息路由、对象交换、事务处理、数据转换或其它数据处理功能的服务的中央集线器。应用服务器616还可提供对其它服务器、数据库、网络等的安全访问。应用服务器616可以是IBMWebSphere、.NET或类似类型的应用服务器等。WebSpere是IBM公司在美国、其它国家或二者中的注册商标。应用服务器616可接收基于用于被请求的web服务的授权策略614响应于用户616-610被授权进行请求而从反向代理服务器602或web服务网关604分派的请求。应用服务器616可访问可驻留在数据库或数据源618中的授权策略614,所述数据库或数据源618可远离应用服务器616。应用服务器616可实施对于采用基于授权策略614请求的web服务的授权,其中,所述授权策略614与所述请求相关或被附加到所请求的web服务。

还可在应用服务器616与反向代理服务器602和web服务网关604之间设置防火墙620。防火墙620连同防火墙612向系统600提供附加的安全性。

附图中的流程图和框图示出根据本发明各个实施例的系统、方法和计算机程序产品的可能实现的结构、功能和操作。在这点上,流程图或框图中的每个块可代表模块、段、或代码部分,其包括一条或多条用于实现指定的逻辑功能的可执行指令。还应注意到,在某些替换实现中,块中标注的功能可不按照附图中标注的顺序发生。例如,连续显示的两个块实际上可基本同时地执行,或者,所述块有时可按照相反的顺序来执行,这取决于所涉及的功能。还应注意到,可通过基于专用硬件的系统或专用硬件和计算机指令的组合来实现框图和/或流程图中的每个块以及框图和/或流程图中的块的组合,其中,所述基于专用硬件的系统执行指定的功能或动作。

这里使用的术语仅用于描述具体实施例的作用,而不在于限制本发明。如这里所使用的,除非上下文中作出明确指示,否则单数形式“一”、“一个”和“该”也会包括复数形式的涵义。还应理解,当在本说明书中使用时,术语“包括”和/或“包含”表示存在所声明的特征、整数、步骤、操作、元素和/或部件,但是不排除存在或附加一个或多个其它特征、整数、步骤、操作、元素、部件和/或它们的组。

尽管在这里示出并描述了特定实施例,但是本领域的普通技术人员可认识到:计划实现相同目的的任何配置可替换所示的特定实施例,并且,本发明在其它环境中具有其它应用。本申请意在覆盖本发明的任何改变或变型。权利要求决不在于将本发明的范围限制于这里描述的特定实施例。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号