安全调用模块的部署

用户可以在自己的应用系统中调用产品的功能,从而实现对应用系统功能的扩充。这种情况下,建议将用户的应用系统与产品独立部署,以跨系统调用的方式使用。这时,在用户应用系统中,应部署产品的安全调用模块。如下图所示:

安全调用模块的部署
 

安全调用模块的具体部署方式如下:

部署安全调用模块相关文件

获取产品安全调用模块文件包,文件包位于:/reportmis/mis2/custom/CustomoutProject_Java.rar

文件包解压后将其中的相关文件拷贝至用户自己的应用中,包括jar包拷贝、其他相关文件拷贝以及web.xml配置文件中的配置项合并。

安全调用模块配置文件设置

安全调用模块中有一个配置文件【config.properties】需要部署在用户应用系统的/WEB-INF/classes/目录下。

通过该配置文件进行以下设置:

url=http://192.168.1.168:8800/reportmis
privilegeInterface=com.customer.privilege.CusPrivilege
userInterface=com.customer.user.CusUser
encryptEnable=false
secretKey=

具体各配置项作用如下:

  • url: 产品系统的访问地址
  • privilegeInterface: 权限接口实现类,用于控制用户应用系统当前登录用户是否有权限访问,供客户实现
  • userInterface: 用户接口实现类,用于获取用户应用系统当前登录用户,供客户实现
  • encryptEnable: 跨系统调用时传递的参数是否加密,true - 加密/false - 不加密
  • secretKey: 加密密钥,必须为24个字符,需要和产品系统中配置的密钥保持一致,具体见下面小节的说明

密钥配置

由于本产品的调用接口是开放的,为了防止其他人基于已知接口编写程序进行产品功能的跨系统调用,在安全模块中提供了密钥机制,可以分别在集成至用户应用系统的安全模块中配置密钥,以及在产品系统中配置密钥,只有在密钥一致的情况下才能从应用系统向产品系统发起跨系统访问。用户也可以根据自己的需求和安全评估,不使用密钥直接跨系统访问。注意:应用系统的安全模块和产品系统中设置的密钥需要保持一致。

密钥配置方法如下:

安全调用模块中的密钥配置

在用户应用系统的安全调用模块配置文件【config.properties】中进行密钥设置,例如:

encryptEnable=true
secretKey=111111112222222233333333

产品系统配置文件设置

在产品系统的客户化模式配置文件【/mis2/custom/gezCustomPattern.xml】中进行密钥设置,例如:

<!-- enable:true表示启用密钥;false表示不启用密钥-->
<encrypt enable="true" secretKey="111111112222222233333333" />