安全管理平台接入管理接收方法、发送方法及系统与流程

专利2022-06-29  119


本发明涉及软件领域,尤其是涉及一种安全管理平台接入管理接收方法、发送方法及系统。



背景技术:

4a安全管理平台指进行集中帐号(account)管理、集中认证(authentication)管理、集中权限(authorization)管理、集中审计(audit)管理的平台,不同的4a厂商依托4a实现的框架和4a安全管理接入标准接入4a安全管理平台。

目前4a安全管理平台使用的框架有axis1和axis2,axis1、axis2都是apache旗下的soap引擎,axis2虽然由axis1.x处理程序模型提供支持,但axis2是基于新的体系结构进行了全新编写,而且没有采用axis1.x的常用代码,是新一代的soap引擎,这两者在协议版本、包络体机构、客户端api、服务发布方式上均存在一定的差异。而同一类别报文数据结构的差异取决于4a安全管理平台定义的标准,被接入方只能遵循,因此为满足接入4a安全管理平台,实现方式通常有两种,一种是axis1对接axis1,一种是axis2对接axis2,然后根据标准接口定义的报文数据体进行业务处理,这种处理方式会消耗较多资源,提高接入成本,因此需要提出一种能够交叉接入不同框架的安全管理平台接入管理接收方法,自动适配接入不同框架,降低安全管理平台的接入成本及维护成本。



技术实现要素:

本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种安全管理平台接入管理接收方法,能够自动适配交叉接入不同框架,降低安全管理平台的接入成本及维护成本。

第一方面,本发明的一个实施例提供了:一种安全管理平台接入管理接收方法,包括:

通过axis2服务端获取api接口发送的消息报文;

将所述消息报文的入参名修改成axis1框架定义的入参格式,并将axis2服务端发布服务所需的服务描述文件放置在与所述api接口同级的目录路径中,所述服务描述文件为services.xml,用于根据需求修改发布服务描述信息;

通过加载数据转换ftl模板将修改后的所述消息报文转化为应用端所需的json格式进行适配处理。

进一步地,将所述消息报文的入参名修改成axis1框架定义的入参格式具体包括:axis2服务端调用对象转换工具类截取所述消息报文并传递所述入参名;

所述消息报文为axiom对象,根据webservice发布服务的实现方法获取所述axiom对象中的parts,遍历parts中命名空间中服务视图名属性获取所述入参名,并将所述入参名修改成发布服务实现类的参数名。

进一步地,通过加载数据转换ftl模板将修改后的所述消息报文转化为应用端所需的json格式进行适配处理之前还包括:根据预处理接口进行所述消息报文的加密预处理,所述加密预处理包括:3des加密预处理、des加密预处理、不加密处理。

进一步地,通过加载数据转换ftl模板将修改后的所述消息报文转化为应用端所需的json格式进行适配处理具体包括:

加载所述数据转换ftl模板和ftl模板对应关系配置信息;

通过服务表示获取对应的ftl模板,利用模板引擎将所述消息报文转化为ftl配置的json格式的应用所需实体类;

读取所述实体类处理对应业务并返回业务处理结果。

进一步地,所述api接口发送的消息报文包括:axis2平台客户端生成的消息报文和/或axis1平台客户端生成的消息报文。

第二方面,本发明的一个实施例提供了:一种安全管理平台接入管理发送方法,包括:发送消息报文进行适配处理,并将适配处理后的消息报文转化成安全管理平台规定的报文格式发送给安全管理平台进行业务处理;

接收所述安全管理平台发送的业务处理结果,并将所述业务处理结果转化为应用端规定的报文格式发送给应用端。

第三方面,本发明的一个实施例提供了:一种安全管理平台接入管理系统,包括:平台客户端、平台服务端、http客户端、接入服务端、适配端、应用端;

所述平台客户端通过soap引擎向所述接入服务端发送消息报文;

所述适配端接收所述接入服务端发送的所述消息报文,并对所述消息报文进行适配处理并接收所述应用端发送的业务处理结果;

所述适配端将业务处理结果通过所述http客户端发送给所述平台服务端;

所述接入服务端为axis2服务端。

进一步地,所述平台客户端包括:axis1平台客户端和/或axis2平台客户端,所述平台服务端包括:axis1平台服务端和/或axis2平台服务端。

第四方面,本发明提供一种安全管理平台接入管理设备,包括:

至少一个处理器,以及与所述至少一个处理器通信连接的存储器;

其中,所述处理器通过调用所述存储器中存储的计算机程序,用于执行如第一方面或第二方面任一项所述的方法。

第五方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面或第二方面任一项的方法。

本发明的有益效果是:

本发明实施例通过axis2服务端获取api接口发送的消息报文,将消息报文的入参名修改成axis1的定义入参格式,并将axis2服务端发布服务所需的服务描述文件放置在与api接口同级的目录路径中,其中服务描述文件为services.xml,用于根据需要需求发布服务描述信息,通过加载数据转换ftl模板将修改后的消息报文转化为应用端所需的json格式进行适配处理。实现当通过axis2框架作为服务端时,同时接收axis1和/或axis2框架作为客户端发送的消息报文,解决两种框架交叉使用出现的问题,按配置进行自动适配,完成与多个不同厂商4a安全管理平台的消息交互,降低接入成本及维护成本。

可广泛应用于安全管理平台接入过程。

附图说明

图1是一般的安全管理平台接入方案示意图;

图2是本发明实施例中安全管理平台接入管理接收方法的一具体实施例流程示意图;

图3是本发明实施例中安全管理平台接入管理接收方法的一具体实施例消息接收流程图;

图4是本发明实施例中安全管理平台接入管理发送方法的一具体实施例消息发送流程图;

图5是本发明实施例中安全管理平台接入管理系统的一具体实施例结构示意图。

具体实施方式

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。

实施例一:

4a安全管理平台指进行集中帐号(account)管理、集中认证(authentication)管理、集中权限(authorization)管理、集中审计(audit)管理的平台,其中:1)集中帐号管理为用户提供统一集中的帐号管理,不仅能够实现被管理资源帐号的创建、删除及同步等帐号管理生命周期所包含的基本功能,而且也可以通过平台进行帐号密码策略,密码强度、生存周期的设定。2)集中认证管理可以根据用户应用的实际需要,为用户提供不同强度的认证方式,既可以保持原有的静态口令方式,又可以提供具有双因子认证方式的高强度认证(一次性口令、数字证书、动态口令),而且还能够集成现有其它如生物特征等新型的认证方式。不仅可以实现用户认证的统一管理,并且能够为用户提供统一的认证门户,实现企业信息资源访问的单点登录。3)集中权限管理可以对用户的资源访问权限进行集中控制。既可以实现对b/s、c/s应用端资源的访问权限控制,也可以实现对数据库、主机及网络设备的操作的权限控制。4)集中审计管理将用户所有的操作日志集中记录管理和分析,不仅可以对用户行为进行监控,并且可以通过集中的审计数据进行数据挖掘,以便于事后的安全事故责任的认定。

如图1所示,为一般的安全管理平台接入方案示意图,从图中可见,4a安全管理平台使用的框架有axis1和axis2,实现方式一种是axis1对接axis1,一种是axis2对接axis2,通过相同框架的客户端利用soap引擎实现消息交互,例如:4a安全管理平台接入应用管理平台,axis1平台客户端发送消息报文到axis1接入服务端,应用管理平台进行对应的业务处理之后通过axis1接入客户端发送至axis1平台服务端实现消息交互。同样的,axis2平台客户端发送消息报文到axis2接入服务端,应用管理平台进行对应的业务处理之后通过axis2接入客户端发送至axis2平台服务端实现消息交互,不同框架之间不能进行交叉接入。

本发明实施例一提供一种安全管理平台接入管理接收方法,图2为本发明实施例提供的一种安全管理平台接入管理接收方法的流程示意图,如图2所示,该方法包括以下步骤:

s1:通过axis2服务端获取api接口发送的消息报文。

其中,消息报文包括:axis2平台客户端生成的消息报文和/或axis1平台客户端生成的消息报文。

s2:修改消息报文即服务描述文件路径:将消息报文的入参名修改成axis1框架定义的入参格式,并将axis2服务端发布服务所需的服务描述文件放置在与api接口同级的目录路径中,服务描述文件为services.xml,用于根据需要需求发布服务描述信息。

由于4a安全管理平台一般都是不同的厂商承建,且同时存在axis1或axis2的不同实现框架,当axis1和axis2交叉使用时,当是axis2服务端时,axis2接收到soap消息报文包络体时,会对接收到的消息进行包络结构校验,并将报文信息传递到发布服务对应的实现类,由于axis1和axis2包络体封装节点有差异,当是平台客户端是axis1框架时,交叉接入时会出现错误。

因此本实施例的应用管理平台对接厂商的4a安全管理平台时,为实现交叉接入,修改消息报文的入参名,使得应用管理平台只需设置一个axis2服务端即可,使用axis2框架接收多个不同4a厂商的消息报文,通过处理axis2发布服务实现类参数名保证正常接收axis1的消息报文。当axis2平台客户端输入消息报文,则axis2服务端直接处理,当axis1平台客户端输入消息报文,经过转化后变成axis1框架定义的入参格式,即相当于axis2服务端等同于axis1服务端,因此实现交叉加入,降低接入成本和维护成本。

s3:通过加载数据转换ftl模板将修改后的消息报文转化为应用端所需的json格式进行适配处理。

步骤s2中axis2服务端调用对象转换工具类(例如beanutil)截取消息报文并传递入参名,具体的,由于消息报文为axiom对象,因此根据webservice发布服务的实现方法获取axiom对象中的parts,遍历parts中命名空间中服务视图名属性获取入参名,并将入参名修改成发布服务实现类的参数名。为防止axis2接收axis1发送的消息报文时出现数组下标越界错误,可通过将发布服务实现类参数名与发送方设置的参数名对应。同时为了能够灵活修改发布服务,将服务描述文件services.xml放在应用包之外,与api接口同级的目录路径中。

步骤s2之后还包括:根据预处理借口进行消息报文的加密预处理,加密预处理包括:3des加密预处理、des加密预处理、不加密处理等。

步骤s3中,通过加载数据转换ftl模板将修改后的消息报文转化为应用端所需的json格式进行适配处理具体包括:

s31:加载数据转换ftl模板和ftl模板对应关系配置信息。

其中,ftl模板(freemarkertemplatelanguage)是一个java类库,是freemarker模板的文件后缀名。freemarker是一种比较简单的网页展示技术,是网页模板和数据模型的结合体,是一种用java编写的模板引擎,基于模板和要改变的数据,生成输出文本(例如html网页、电子邮件、配置文件、源代码等)的通用工具。

s32:通过服务表示获取对应的ftl模板,利用模板引擎将消息报文转化为ftl配置的json格式的应用所需实体类。

s33:读取实体类处理对应业务并返回业务处理结果。

下面以消息报文接收和发送两个过程为例说明本实施例的具体过程。

如图3所示,为本实施例安全管理平台接入管理接收方法的消息接收流程图。具体步骤如下所述。

1)4a安全管理平台的平台客户端通过axi1或者axis2的api发送消息报文;

2)自动适配通过axis2服务端接收的4a平台客户端发送的消息报文,其中自动适配过程包括两部分:

一是保证axis1平台客户端的api发送消息后axis2服务端能正常接收处理,方法是:将接收到的消息报文的入参名修改为与axis1框架定义的入参格式一致,保证axis2服务端在调用对象转换工具类beanutil做验证时,能够截取到消息报文,并传递给实现类方法的入参。

二是将axis2服务端发布服务必需的服务描述文件services.xml放置在与应用的api接口同级的目录路径中,便于根据需求修改发布服务描述信息。

通过以上两点进行灵活配置发布服务,保证axis1和axis2框架之间交叉接入,降低接入成本和维护成本。

3)修改消息报文的入参名后,开始进行适配处理,进行适配处理思路是:

将同一类别的消息报文(即使是同一类别的消息报文,由于被管控数据的结构和关键属性定义不同,消息报文也存在较大差异),发送到不同的应用端进行处理,使得应用端只处理与自身相关的业务实体类。适配处理实现的关键点是:通过配置消息的数据转换ftl模板和请求地址,使用http协议完成适配处理。

下面举例说明同一类别的不同消息报文,以4a发起用户信息修改消息为例:

步骤1:假设4a安全管理平台发送的消息报文存在如下2种情况:

报文1:

报文2:

步骤2:对应的其应用侧的请求地址和实体类pojo格式有以下2种情况:

报文1:地址为…/user/update.json,其用户pojo名称为user,包含的属性有userid和username;

报文2:地址为…/account/update.json,用户pojo名称为account,包含的属性有accountid和accountname。

步骤3:针对以上2种情况具体配置是:

4)适配端根据预处理接口进行消息报文的加密预处理,其中,预处理接口是处理整个消息报文定义的一个接口,通过实现接口完成预处理,应用根据配置的预处理接口实例来完成具体所需预处理。比如消息加密方式有3种,分别是3des加密、des加密、不加密,因此对应的预处理实例就存在3种:3des加密预处理、des加密预处理、不加密处理。可根据需要进行配置或实现预处理接口来实现自定义其他加解密处理过程,并根据实际情况进行实例调用配置。

5)适配端加载消息报文和ftl模板的对应关系配置(具体配置例如第3步的步骤3),通过消息服务标识和服务名等信息作为标识,获取到具体ftl模板,然后通过模板引擎freemarket将消息转为ftl配置的json格式,然后使用json工具类将json格式的数据转为应用所需的实体类pojo,即通过配置要求将接收的消息报文转为业务所需实体类pojo并匹配到业务系统的自定义接口,来达到业务只关心自身的实体类pojo和业务实现处理。

6)适配端读取接收到消息报文对应的业务系统处理接口相关信息。

7)适配端调用http客户端发送消息方法。

8)http客户端将消息发送到应用端进行业务处理。

9)应用端根据业务系统处理接口进行自身业务处理。

10)应用端返回业务处理结果到http客户端。

11)http客户端方法返回业务处理结果调用结果。

12)适配端根据配置将应用端的业务处理结果转化为4a安全管理平台约定的响应格式。

其通过配置要求将业务系统发送的业务处理结果消息转为4a安全管理平台约定的格式,主要是将应用端自身pojo按配置转为4a安全管理平台所要求的包络体格式,并以http方式按配置实现soap1.1和soap1.2两个不同的版本,即通过使用soap引擎的基础协议http配置soap1.1版本与soap1.2版本在头信息上的差异,满足支持soap引擎协议版本的差异;以此来完成自动适配,达到统一接入多个不同厂商4a安全管理平台,以保证使用不同框架的4a安全管理平台都能接收到应用端上报的消息。

例如:soap1.1版本与soap1.2版本在头信息差异示意如下:

soap1.1:

post/wsshakespeare.asmxhttp/1.1

host:www.xmlme.com

content-type:text/xml;charset=utf-8

content-length:length

soapaction:http://xmlme.com/webservices/getsp

soap1.2:

post/wsshakespeare.asmxhttp/1.1

host:www.xmlme.com

content-type:application/soap xml;charset=utf-8

content-length:length

13)返回处理结果(约定的响应格式)到4a安全管理平台的平台服务端。

本实施例通过axis2服务端获取api接口发送的消息报文,将消息报文的入参名修改成axis1的定义入参格式,并将axis2服务端发布服务所需的服务描述文件放置在与api接口同级的目录路径中,其中服务描述文件为services.xml,用于根据需要需求发布服务描述信息,通过加载数据转换ftl模板将修改后的消息报文转化为应用端所需的json格式进行适配处理。

实施例二:

本实施例提供一种安全管理平台接入管理发送方法,包括步骤:

发送消息报文进行适配处理,并将适配处理后的消息报文转化成安全管理平台规定的报文格式发送给安全管理平台进行业务处理;

接收安全管理平台发送的业务处理结果,并将业务处理结果转化为应用端规定的报文格式发送给应用端。

对应的实施例一中图3,如图4所示,为本实施例安全管理平台接入管理接收方法的消息发送流程图,具体步骤如下所述。

1)应用端将消息报文发送到适配端。

2)适配端根据消息标识查找转化配置信息,根据配置信息将接收到的报文消息转为4a安全管理平台约定的响应格式。

3)适配端根据消息标识查找发送报文设置和发布服务地址信息对消息报文进行封装,这一步主要是考虑axis1和axis2框架的协议版本不一样,以达到自由适配目的。

4)适配端调用http客户端发送消息方法。

5)http客户端发送消息请求4a安全管理平台发布服务的webservice服务端。

6)4a安全管理平台进行业务处理。

7)4a安全管理平台返回业务处理结果到http客户端。

8)http客户端将4a安全管理平台的业务处理结果,返回适配端。

9)适配端读取配置,根据配置将4a安全管理平台返回的业务处理结果转为应用端所需的结果报文格式。

10)返回结果报文格式给应用端。

实施例三:

本实施例提供一种安全管理平台接入管理系统,用于执行如实施例一和实施例二的方法,如图5所示,为本实施例安全管理平台接入管理系统的结构示意图。包括:平台客户端100、平台服务端200、http客户端300、接入服务端400、适配端500、应用端600,

平台客户端200通过soap引擎向接入服务端400发送消息报文;

适配端500接收接入服务端400发送的消息报文,并对消息报文进行适配处理并接收应用端600发送的业务处理结果;

适配端500将业务处理结果通过http客户端300发送给平台服务端200;

其中,接入服务端400为axis2服务端。

进一步地,平台客户端100包括:axis1平台客户端110和/或axis2平台客户端120,平台服务端200包括:axis1平台服务端210和/或axis2平台服务端220。

上述中安全管理平台接入管理系统中各功能模块的具体细节已经在如实施例一和实施例二对应的安全管理平台接入管理接收方法、发送方法中进行了详细的描述,因此此处不再赘述。

另外,本发明还提供安全管理平台接入管理设备,包括:

至少一个处理器,以及与所述至少一个处理器通信连接的存储器;

其中,所述处理器通过调用所述存储器中存储的计算机程序,用于执行如如实施例一和实施例二所述的方法。计算机程序即程序代码,当程序代码在安全管理平台接入管理设备上运行时,程序代码用于使安全管理平台接入管理设备执行本说明书上述如实施例一和实施例二部分描述的方法中的步骤。

另外,本发明还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,其中计算机可执行指令用于使计算机执行如实施例一和实施例二部分描述的方法。

本发明实现了当通过axis2框架作为服务端时,同时接收axis1和/或axis2框架作为客户端发送的消息报文,解决两种框架交叉使用出现的问题,按配置进行自动适配,完成与多个不同厂商4a安全管理平台的消息交互,降低接入成本及维护成本。

以上各实施例仅用以说明本发明的技术方案,而非对其限制,尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。


技术特征:

1.一种安全管理平台接入管理接收方法,其特征在于,包括:

通过axis2服务端获取api接口发送的消息报文;

将所述消息报文的入参名修改成axis1框架定义的入参格式,并将axis2服务端发布服务所需的服务描述文件放置在与所述api接口同级的目录路径中,所述服务描述文件为services.xml,用于根据需求修改发布服务描述信息;

通过加载数据转换ftl模板将修改后的所述消息报文转化为应用端所需的json格式进行适配处理。

2.根据权利要求1所述的一种安全管理平台接入管理接收方法,其特征在于,将所述消息报文的入参名修改成axis1框架定义的入参格式具体包括:axis2服务端调用对象转换工具类截取所述消息报文并传递所述入参名;

所述消息报文为axiom对象,根据webservice发布服务的实现方法获取所述axiom对象中的parts,遍历parts中命名空间中服务视图名属性获取所述入参名,并将所述入参名修改成发布服务实现类的参数名。

3.根据权利要求1所述的一种安全管理平台接入管理接收方法,其特征在于,通过加载数据转换ftl模板将修改后的所述消息报文转化为应用端所需的json格式进行适配处理之前还包括:根据预处理接口进行所述消息报文的加密预处理,所述加密预处理包括:3des加密预处理、des加密预处理、不加密处理。

4.根据权利要求1所述的一种安全管理平台接入管理接收方法,其特征在于,通过加载数据转换ftl模板将修改后的所述消息报文转化为应用端所需的json格式进行适配处理具体包括:

加载所述数据转换ftl模板和ftl模板对应关系配置信息;

通过服务表示获取对应的ftl模板,利用模板引擎将所述消息报文转化为ftl配置的json格式的应用所需实体类;

读取所述实体类处理对应业务并返回业务处理结果。

5.根据权利要求1至4任一项所述的一种安全管理平台接入管理接收方法,其特征在于,所述api接口发送的消息报文包括:axis2平台客户端生成的消息报文和/或axis1平台客户端生成的消息报文。

6.一种安全管理平台接入管理发送方法,其特征在于,

发送消息报文进行适配处理,并将适配处理后的消息报文转化成安全管理平台规定的报文格式发送给安全管理平台进行业务处理;

接收所述安全管理平台发送的业务处理结果,并将所述业务处理结果转化为应用端规定的报文格式发送给应用端。

7.一种安全管理平台接入管理系统,其特征在于,包括:平台客户端、平台服务端、http客户端、接入服务端、适配端、应用端;

所述平台客户端通过soap引擎向所述接入服务端发送消息报文;

所述适配端接收所述接入服务端发送的所述消息报文,对所述消息报文进行适配处理并接收所述应用端发送的业务处理结果;

所述适配端将业务处理结果通过所述http客户端发送给所述平台服务端;

所述接入服务端为axis2服务端。

8.根据权利要求7所述的一种安全管理平台接入管理系统,其特征在于,所述平台客户端包括:axis1平台客户端和/或axis2平台客户端,所述平台服务端包括:axis1平台服务端和/或axis2平台服务端。

9.一种安全管理平台接入管理设备,其特征在于,包括:

至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;

其中,所述处理器通过调用所述存储器中存储的计算机程序,用于执行如权利要求1至5任一项所述的方法,或,用于执行如权利要求6所述的方法。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至5任一项所述的方法,或,用于执行如权利要求6所述的方法。

技术总结
本发明公开了安全管理平台接入管理接收方法、发送方法及系统。涉及软件领域,其中,接收方法通过Axis2服务端获取API接口发送的消息报文,将消息报文的入参名修改成Axis1的定义入参格式,并将Axis2服务端发布服务所需的服务描述文件放置在与API接口同级的目录路径中,其中服务描述文件为services.xml,用于根据需要需求发布服务描述信息,通过加载数据转换FTL模板将修改后的消息报文转化为应用端所需的json格式进行适配处理。实现当通过Axis2框架作为服务端时,同时接收Axis1和/或Axis2框架作为客户端发送的消息报文,解决两种框架交叉使用出现的问题,按配置进行自动适配,完成与多个不同厂商4A安全管理平台的消息交互,降低接入成本及维护成本。

技术研发人员:吴凡
受保护的技术使用者:卓望数码技术(深圳)有限公司
技术研发日:2020.01.10
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-27687.html

最新回复(0)