一种服务接口权限验证方法及装置制造方法

文档序号:7818449阅读:673来源:国知局
一种服务接口权限验证方法及装置制造方法
【专利摘要】本发明公开了一种服务接口权限验证方法及装置,其中,服务接口权限验证方法包括:根据服务接口集合列表中包含的若干个服务接口的功能描述信息,客户端订制需要调用的服务接口;向服务端传入所述客户端的客户端标识;服务端将所述传入的客户端标识及该客户端订制的需要调用的服务接口的方法名与预先配置的客户端标识及服务接口的方法名对应匹配,所述预先配置的客户端标识与服务接口的方法名存在对应关系,形成对应关系列表;在所述传入的客户端标识与预先配置的对应关系列表中的客户端标识匹配,且该客户端定制的需要调用的服务接口的方法名与预先配置的对应关系列表中的服务接口的方法名匹配的情况下,验证通过,允许所述客户端调用对应的服务接口。
【专利说明】一种服务接口权限验证方法及装置

【技术领域】
[0001] 本发明涉及接口验证【技术领域】,具体涉及一种服务接口权限验证方法及装置。

【背景技术】
[0002] 通过Axis+spring+java开发的webservice服务接口,通常存在客户端调用 webservice服务接口的情况。为了服务接口的安全起见,比如,防止恶意客户端破坏接口的 服务或攻击服务接口,一般都会设置服务接口权限的验证,当客户端具有服务接口的调用 权限时,才能调用该服务接口,使用服务接口提供的功能。目前服务接口权限验证的方式有 很多,但大多数服务接口权限验证的方式过程都比较复杂繁琐。


【发明内容】

[0003] 本发明所要解决的技术问题是提供一种服务接口权限验证方法及装置,能够方便 快捷地实现webservice服务接口的权限验证。
[0004] 依据本发明的一个方面,提供了一种服务接口权限验证方法,包括:
[0005] 根据服务接口集合列表中包含的若干个服务接口的功能描述信息,客户端订制需 要调用的服务接口;
[0006] 向服务端传入所述客户端的客户端标识;
[0007] 服务端将所述传入的客户端标识及该客户端订制的需要调用的服务接口的方法 名与预先配置的客户端标识与服务接口的方法名的对应关系列表中的客户端标识及服务 接口的方法名进行匹配;
[0008] 在所述传入的客户端标识与预先配置的对应关系列表中的客户端标识匹配,且该 客户端定制的需要调用的服务接口的方法名与预先配置的对应关系列表中的服务接口的 方法名匹配的情况下,验证通过,允许所述客户端调用对应的服务接口。
[0009] 依据本发明的另一个方面,提供了一种服务接口权限验证装置,包括:
[0010] 服务接口订制模块,用于根据服务接口集合列表中包含的若干个服务接口的功能 描述信息,调用客户端订制需要调用的服务接口;
[0011] 标识传入模块,用于向服务端传入所述客户端的客户端标识;
[0012] 匹配模块,用于调用服务端将所述传入的客户端标识及该客户端订制的需要调用 的服务接口的方法名与预先配置的客户端标识与服务接口的方法名的对应关系列表中的 客户端标识及服务接口的方法名进行匹配;
[0013] 验证通过模块,用于在所述传入的客户端标识与预先配置的对应关系列表中的客 户端标识匹配,且该客户端定制的需要调用的服务接口的方法名与预先配置的对应关系列 表中的服务接口的方法名匹配的情况下,验证通过,允许所述客户端调用对应的服务接口。
[0014] 本发明提供的一种服务接口权限验证方法及装置,客户端根据服务接口集合列表 中对服务接口的功能描述信息订制需要调用的服务接口,并向服务端传入客户端标识,月艮 务端根据客户端传入的客户端标识和该客户端需要调用的服务接口的方法名与预先配置 的客户端标识与服务接口的方法名的对应关系列表中的客户端标识及服务接口的方法名 匹配,若匹配,权限验证通过,允许客户端调用服务接口。客户端根据服务接口集合列表中 对服务接口的功能描述信息订制需要调用的服务接口,方便快捷且直观;服务端只需将客 户端标识与该客户端需要调用的服务接口的方法名与预先配置的客户端标识与服务接口 的方法名的对应关系列表中的客户端标识及服务接口的方法名匹配,即可实现客户端调用 服务接口的权限验证,简单快捷,没有繁复的过程,有较强的适用性;此外,采用本发明提供 的方法,能够保证客户端在调用服务接口时的权限验证,只允许通过权限验证的客户端调 用服务接口,没有通过权限验证的客户端无法调用服务接口,可以防止客户端恶意破坏服 务接口。

【专利附图】

【附图说明】
[0015] 图1为本发明实施例一的一种服务接口权限验证方法流程图;
[0016] 图2为本发明实施例二的一种服务接口权限验证方法流程图;
[0017] 图3为本发明实施例二的整个实现过程示意图;
[0018] 图4为本发明实施例三的一种服务接口权限验证装置示意图。

【具体实施方式】
[0019] 以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并 非用于限定本发明的范围。
[0020] 实施例一、一种服务接口权限验证方法。下面结合图1对发明提供的方法进行详 细说明。
[0021] 图1中,S101、根据服务接口集合列表中包含的若干个服务接口的功能描述信息, 客户端订制需要调用的服务接口。
[0022] 具体的,本实施例中的服务接口是基于webservice的服务接口,当客户端希望调 用webservice服务接口进而调用服务接口提供的功能,需要通过服务接口的验证才能调 用该服务接口。
[0023] 客户端在需要调用服务接口之前,可以通过提供给客户端的可视系统查看服务端 提供的所有服务接口的列表,比如,客户端可直接通过浏览器登陆的页面系统,查看服务接 口集合列表,服务接口集合列表中包含有服务端提供的所有服务接口,还包含每个服务接 口的服务接口名称、服务接口的方法名、服务接口的URL (Universal Resource Locator,统 一资源定位符)以及服务接口的功能描述信息等。其中,服务接口名称、服务接口方法名、 服务接口 URL及服务接口的功能描述信息均存在一一对应关系。
[0024] 客户端通过查看服务接口集合列表中包含的每个服务接口的功能描述信息,根据 客户端自身的业务需要订制需要调用的服务接口。
[0025] 需要说明的是,若客户端没有可视系统可以查看服务接口集合列表中的服务接口 的功能描述信息,则技术人员可以直接为客户端分配客户端标识及订制客户端需要调用的 服务接口。
[0026] S102、向服务端传入定制服务接口的客户端的客户端标识。
[0027] 具体的,步骤S101中客户端根据服务接口的功能描述信息订制了需要调用的服 务接口,向服务端申请调用需要调用的服务接口,即向服务端传入客户端标识。服务端会 对客户端传入的客户端标识进行审核,只有当服务端对客户端传入的客户端标识审核通过 时,服务端才会对客户端调用服务接口权限进行验证。比如,服务端会审核客户端传入的客 户端标识是否为空,或者客户端传入的客户端标识的格式是否符合要求,只有当客户端传 入的客户端标识不为空且客户端标识的格式符合要求时,审核通过,服务端才会对客户端 调用服务接口的权限进行验证。
[0028] S103、服务端将传入的客户端标识及该客户端订制的需要调用的服务接口的方法 名与预先配置的客户端标识与服务接口的方法名的对应关系列表中的客户端标识及服务 接口的方法名进行匹配。
[0029] 具体的,客户端根据服务接口的功能描述信息订制需要调用的服务接口并向服务 端传入该客户端的客户端标识,此时根据服务接口的功能描述信息与服务接口的方法名的 一一对应关系,可以知道客户端需要调用的服务接口的方法名。因此当客户端向服务端传 入客户端标识时,服务端也能获知客户端需要调用的服务接口的方法名。
[0030] 服务端对客户端调用服务接口的权限进行验证之前,服务端会预先配置客户端标 识与服务接口的方法名的对应关系,即对于某一特定的服务接口,只允许某些特定的客户 端访问调用,不允许其它的客户端访问调用;而对于某一特定的客户端,可以调用某些特定 的服务接口,而不能调用某些特定的服务接口,因此,客户端标识与服务接口的方法名之间 的对应关系为多对多的对应关系,即一个客户端可以调用多个服务接口,一个服务接口可 以被多个客户端调用。服务端将配置的客户端标识与服务接口的方法名的对应关系以列表 的形式存储,一个客户端标识与一个服务接口的方法名的对应关系作为列表中的一条数据 记录。
[0031] 随后,服务端将客户端标识和客户端需要调用的服务接口的方法名与预先配置的 客户端标识与服务接口的方法名的对应关系列表中的客户端标识及服务接口的方法名进 行匹配。
[0032] S104、在传入的客户端标识与预先配置的对应关系列表中的客户端标识匹配,且 该客户端定制的需要调用的服务接口的方法名与预先配置的对应关系列表中的服务接口 的方法名匹配的情况下,验证通过,允许客户端调用对应的服务接口。
[0033] 具体的,若传入服务端中的客户端标识与客户端需要调用的服务接口的方法名在 服务端预先设置的客户端标识与服务接口的方法名的对应关系列表中能够匹配,即客户端 标识与预先配置的对应关系列表中的客户端标识匹配,且该客户端定制的需要调用的服务 接口的方法名与预先配置的对应关系列表中的服务接口的方法名匹配,也即客户端标识与 其需要调用的服务接口的方法名有关联关系,客户端对服务接口的调用权限验证通过,月艮 务端允许客户端对该服务接口进行调用。
[0034] 若客户端标识与客户端需要调用的服务接口的方法名与服务端预先设置的客户 端标识与服务接口的方法名的对应关系列表中对应不匹配,即传入服务端的客户端标识与 预先配置的对应关系列表中的客户端标识不匹配,或者该客户端定制的需要调用的服务接 口的方法名与预先配置的对应关系列表中的服务接口的方法名不匹配,也即客户端标识与 服务接口的方法名没有关联关系,客户端对服务接口的调用权限验证失败,服务端向该客 户端发送验证失败的提示信息,提示客户端权限验证失败,并拒绝客户端对服务接口的调 用。
[0035] 实施例二、一种服务接口权限验证方法。下面结合图2-图3对本实施例提供的方 法进行详细说明。
[0036] 参见图3,在客户端申请调用服务接口之前,服务端需要编写webservice接口服 务。在本实施例中,主要采用Axis+spring+java技术实现,即通过Axis在services, xml 中发布webservice服务接口的配置文件,配置为服务接口的spring的bean名称,例如: 〈parameter name = "Sp;ringBeanName//>spSe;rvice〈/pa;ramete;r> 为 Axis 发布月艮务接口对 应的spring配置的bean的id。
[0037] 具体服务接口的服务配置文件配置如下:
[0038] <bean id= "spService" class= Vr;/// si tech, outsys. intf. server, proxy. SPServicelmplProxv" > <constructor-arg r e f = "s pSe rv ice Tmp l < / c ο n s t r u c t o r - a r g > </bean> 〈bean id= "spServiceImpl" c 1 ass= Vr;/;;. si tech, outsys. intf. server, sp. SPServ ice Imp I "> 〈property name= "plugins /f> <map> <entry k e y= "authentication PIugin " va 1 ue-ref= "authenticationPlugin !'><!entry>
[0039] </map> </property> </bean>
[0040] 在服务接口 bean(authenticationPlugin)的执行过程中配置服务接口的验证如 下所示:
[0041] 〈bean i d= "a u th en t i ca t i on PI ug i n" c 1 ass="coni si tech, common, plugin. AndP! uginSui te'!> <property name=!!modules "> 〈list) <!-验证是否有接口权限一> 〈bean c lass="com. si tech, engine, server, plugin, sp. VasspSpInterfacePlugin" > 〈property nanie=npartner Inter faceDAO" ref= "pa r tner Tn terfa ceDA0 "> 〈/property〉 </bean> </-接口的实现方法一, 〈/list〉 </' proper ty> </bean>
[0042] 通过以上在服务端对服务接口进行了配置及加入了服务接口权限验证,当 客户端请求对服务接口进行调用时,需要通过服务接口权限的验证,下面为验证类 VasspSpInterfacePlugin 的具体实现如下:
[0043] protected Boolean doexecute (VasspPluginBean piugin.Bean) throws Exception { Response res= (Response)pluginBean. response; String partnerCode = pluginBean. serviceRunBean. partnerCode; String met hod-name = pluginBean. context, get ("method-name "). toString 〇: boolean flag = partnerlnterfaceDAO. isSpInterface (partnerCode, me t hod-name); if (!flag) { res. set Result ("111111"); res. sei及es"/' 〃十仰〃不拥有 〃切細接口的权限"人- return Boolean. FALSE; }else { return Boolean. TRUE; } }
[0044] 结合上述程序及图2,图2为服务接口权限验证的过程,首先,客户端查看服务接 口功能描述信息,申请需要调用的服务接口,调用authentication服务接口,然后进入服 务端实现类 SPServicelmplProxy,接着调用类 SPServicelmplProxy 中的 authentication 方法,再次调用类SPServicelmpl中的authentication方法,执行客户端id为 authenticationPlugin的Bean,对客户端的调用权限进行验证。客户端会向服务端传入客 户端标识,服务器对客户端传入的客户端标识进行审核,审核通过,服务端将客户端传入的 客户端标识和客户端申请调用的服务接口的方法名在预先配置的客户端标识与服务接口 的方法名的对应关系中进行匹配,若匹配,程序则返回true,表明验证通过,允许客户端调 用对应的服务接口进行相应的业务处理;若不匹配,验证失败,程序则返回false,并向客 户端发送提示信息,比如"SP-客户端1不拥有服务接口 1的权限",不允许客户端调用其申 请调用的服务接口。
[0045] 实施例三、一种服务接口权限验证装置。下面结合图4对本实施提供的装置进行 详细说明。
[0046] 图4中,本实施例提供的装置包括服务接口订制模块401、标识传入模块402、匹配 模块403、验证通过模块404和提示信息发送模块405。
[0047] 其中,服务接口订制模块401主要用于根据服务接口集合列表中包含的若干个服 务接口的功能描述信息,调用客户端订制需要调用的服务接口。
[0048] 具体的,客户端在需要调用服务接口之前,可以通过提供给客户端的可视系统查 看服务端提供的所有服务接口的列表,比如,客户端可直接通过浏览器登陆的页面系统, 查看服务接口集合列表,服务接口集合列表中包含有服务端提供的所有服务接口,还包含 每个服务接口的服务接口名称、服务接口的方法名、服务接口的URL (Universal Resource Locator,统一资源定位符)以及服务接口的功能描述信息等。其中,服务接口名称、服务接 口方法名、服务接口 URL及服务接口的功能描述信息均存在一一对应关系。
[0049] 客户端通过查看服务接口集合列表中包含的每个服务接口的功能描述信息,设置 于客户端中的服务接口订制模块401根据客户端自身的业务需要订制需要调用的服务接 □。
[0050] 需要说明的是,若客户端没有可视系统可以查看服务接口集合列表中的服务接口 的功能描述信息,则技术人员可以直接为客户端分配客户端标识及订制客户端需要调用的 服务接口。
[0051] 标识传入模块402主要用于向服务端传入定制服务接口的客户端的客户端标识。
[0052] 具体的,服务接口订制模块401根据服务接口的功能描述订制了需要调用的服务 接口,标识传入模块402向服务端申请调用需要调用的服务接口,向服务端传入客户端标 识。服务端会对客户端传入的客户端标识进行审核,只有当服务端对客户端传入的客户端 标识审核通过时,服务端才会对客户端调用服务接口权限进行验证。比如,服务端会审核客 户端传入的客户端标识是否为空,或者客户端传入的客户端标识的格式是否符合要求,只 有当客户端传入的客户端标识不为空且客户端标识的格式符合要求时,审核通过,服务端 才会对客户端调用服务接口的权限进行验证。
[0053] 匹配模块403主要用于将标识传入模块402传入的客户端标识及该客户端订制的 需要调用的服务接口的方法名与预先配置的客户端标识与服务接口的方法名的对应关系 列表中的客户端标识及服务接口的方法名进行匹配。
[0054] 具体的,客户端根据服务接口的功能描述信息订制需要调用的服务接口并向服务 端传入客户端标识,此时根据服务接口的功能描述信息与服务接口的方法名的一一对应关 系,可以知道客户端需要调用的服务接口的方法名。因此当客户端向服务端传入该客户端 的客户端标识时,服务端也能获知客户端需要调用的服务接口的方法名。
[0055] 服务端对客户端调用服务接口的权限进行验证之前,服务端会预先配置客户端标 识与服务接口的方法名的对应关系,即对于某一特定的服务接口,只允许某些特定的客户 端访问调用,不允许其它的客户端访问调用;而对于某一特定的客户端,可以调用某些特定 的服务接口,而不能调用某些特定的服务接口,因此,客户端标识与服务接口的方法名的对 应关系为多对多的对应关系,即一个客户端可以调用多个服务接口,一个服务接口可以被 多个客户端调用。服务端将配置的客户端标识与服务接口的方法名的对应关系以列表的 形式存储,一个客户端标识与一个服务接口的方法名的对应关系作为列表中的一条数据记 录。
[0056] 随后,设置于服务端的匹配模块403将客户端标识和客户端需要调用的服务接口 的方法名与预先配置的客户端标识与服务接口的方法名的对应关系列表中的客户端标识 及服务接口的方法名进行匹配。
[0057] 验证通过模块404主要用于在传入的客户端标识与预先配置的对应关系列表中 的客户端标识匹配,且该客户端定制的需要调用的服务接口的方法名与预先配置的对应关 系列表中的服务接口的方法名匹配的情况下,验证通过,允许客户端调用对应的服务接口。
[0058] 提示信息发送模块405主要用于在客户端标识与预先配置的对应关系列表中的 客户端标识不匹配,或者该客户端定制的需要调用的服务接口的方法名与预先配置的对应 关系列表中的服务接口的方法名不匹配的情况下,调用服务端向客户端发送验证失败提示 信息,拒绝该客户端调用所述服务接口。
[0059] 具体的,若传入服务端中的客户端标识与客户端需要调用的服务接口的方法名在 服务端预先设置的客户端标识与服务接口的方法名的对应关系列表中能够匹配,即客户端 标识与预先配置的对应关系列表中的客户端标识匹配,且该客户端定制的需要调用的服务 接口的方法名与预先配置的对应关系列表中的服务接口的方法名匹配,也即客户端标识与 其需要调用的服务接口的方法名有关联关系,客户端对服务接口的调用权限验证通过,月艮 务端中的验证通过模块404允许客户端对该服务接口进行调用。
[0060] 若客户端标识与客户端需要调用的服务接口的方法名在服务端预先设置的客户 端标识与服务接口的方法名的对应关系列表中不匹配,即传入服务端的客户端标识与预先 配置的对应关系列表中的客户端标识不匹配,或者该客户端定制的需要调用的服务接口的 方法名与预先配置的对应关系列表中的服务接口的方法名不匹配,也即客户端标识与服务 接口的方法名没有关联关系,客户端对服务接口的调用权限验证失败,提示信息发送模块 405向该客户端发送验证失败的提示信息,提示客户端权限验证失败,并拒绝客户端对服务 接口的调用。
[0061] 本发明提供的一种服务接口权限验证方法及装置,客户端根据服务接口集合列表 中对服务接口的功能描述信息订制需要调用的服务接口,并向服务端传入客户端标识,月艮 务端根据客户端传入的客户端标识和该客户端需要调用的服务接口的方法名与预先配置 的客户端标识与服务接口的方法名的对应关系列表中的客户端标识及服务接口的方法名 匹配,若匹配,权限验证通过,允许客户端调用服务接口。客户端根据服务接口集合列表中 对服务接口的功能描述信息订制需要调用的服务接口,方便快捷且直观;服务端只需将客 户端标识与该客户端需要调用的服务接口的方法名与预先配置的客户端标识与服务接口 的方法名的对应关系列表中的客户端标识及服务接口的方法名匹配,即可实现客户端调用 服务接口的权限验证,简单快捷,没有繁复的过程,有较强的适用性;此外,采用本发明提供 的方法,能够保证客户端在调用服务接口时的权限验证,只允许通过权限验证的客户端调 用服务接口,没有通过权限验证的客户端无法调用服务接口,可以防止客户端恶意破坏服 务接口。
[0062] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和 原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1. 一种服务接口权限验证方法,其特征在于,包括: 步骤S101、根据服务接口集合列表中包含的若干个服务接口的功能描述信息,客户端 订制需要调用的服务接口; 步骤S102、向服务端传入所述客户端的客户端标识; 步骤S103、服务端将所述传入的客户端标识及该客户端订制的需要调用的服务接口的 方法名与预先配置的客户端标识及服务接口的方法名对应匹配,所述预先配置的客户端 标识与服务接口的方法名存在对应关系,形成对应关系列表; 步骤S104、在所述传入的客户端标识与预先配置的对应关系列表中的客户端标识匹 配,且该客户端定制的需要调用的服务接口的方法名与预先配置的对应关系列表中的服务 接口的方法名匹配的情况下,验证通过,允许所述客户端调用对应的服务接口。
2. 如权利要求1所述的服务接口权限验证方法,其特征在于,所述客户端通过浏览器 登陆页面系统,在该页面系统查看服务接口集合列表。
3. 如权利要求1或2所述的服务接口权限验证方法,其特征在于,所述服务接口集合列 表中至少包括若干个服务接口的功能描述信息及服务接口的方法名,所述服务接口的功能 描述信息与方法名存在 对应关系。
4. 如权利要求1所述的服务接口权限验证方法,其特征在于,所述客户端能调用多个 服务接口,同样,所述服务接口能被多个客户端调用,所述客户端标识与服务接口的方法名 形成对应关系列表,将所述对应关系列表存储于服务端。
5. 如权利要求1所述的服务接口权限验证方法,其特征在于,所述步骤S103还包括: 在客户端标识与预先配置的对应关系列表中的客户端标识不匹配,或者该客户端定制 的需要调用的服务接口的方法名与预先配置的对应关系列表中的服务接口的方法名不匹 配的的情况下,服务端向所述客户端发送验证失败提示信息,拒绝该客户端调用所述服务 接口。
6. -种服务接口权限验证装置,其特征在于,包括: 服务接口订制模块,用于根据服务接口集合列表中包含的若干个服务接口的功能描述 信息,调用客户端订制需要调用的服务接口; 标识传入模块,用于向服务端传入所述客户端的客户端标识; 匹配模块,服务端将所述传入的客户端标识及该客户端订制的需要调用的服务接口的 方法名与预先配置的客户端标识及服务接口的方法名对应匹配,所述预先配置的客户端 标识与服务接口的方法名存在对应关系,形成对应关系列表; 验证通过模块,用于在所述传入的客户端标识与预先配置的对应关系列表中的客户端 标识匹配,且该客户端定制的需要调用的服务接口的方法名与预先配置的对应关系列表中 的服务接口的方法名匹配的情况下,验证通过,允许所述客户端调用对应的服务接口。
7. 如权利要求6所述的服务接口权限验证装置,其特征在于,所述客户端通过浏览器 登陆页面系统,在该页面系统查看服务接口集合列表。
8. 如权利要求6或7所述的服务接口权限验证装置,其特征在于,所述服务接口集合列 表中至少包括若干个服务接口的功能描述信息及服务接口的方法名,所述服务接口的功能 描述信息与方法名存在 对应关系。
9. 如权利要求6所述的服务接口权限验证装置,其特征在于,所述客户端能调用多个 服务接口,同样,所述服务接口能被多个客户端调用,所述客户端标识与服务接口的方法名 形成对应关系列表,将所述对应关系列表存储于服务端。
10.如权利要求6所述的服务接口权限验证装置,其特征在于,还包括: 提示信息发送模块,用于在客户端标识及该客户端订制的需要调用的服务接口的方法 名与预先配置的客户端标识与服务接口的方法名的对应关系不匹配的情况下,调用服务端 向所述客户端发送验证失败提示信息,拒绝该客户端调用所述服务接口。
【文档编号】H04L29/08GK104301331SQ201410601849
【公开日】2015年1月21日 申请日期:2014年10月31日 优先权日:2014年10月31日
【发明者】马云波 申请人:北京思特奇信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1