使用场景
使用公司的ZAS作为用户管理中心,其它系统(我公司开发的其他业务系统,这里以ZCMS为例)的用户注册和登录、注销以及需要用户登录后能访问的拦截工作全部交给ZAS负责,ZAS存储用户通用信息,并把信息广播给其它应用系统,各个应用系统接收ZAS的用户信息并存储需要的用户信息,然后通过用户中心页面等手段实现应用系统自己特有用户信息的管理。
集成前提
1)ZAS部署完成并能独立正常运行;
2)ZCMS部署完成并能独立正常运行。
详细步骤
步骤一:在ZAS后台验证中心的应用管理中添加1个ZCMS的应用:
配置说明
登录URL:ZCMS系统接收ZAS系统请求并注入ZCMS应用SESSION的入口;
退出URL:ZCMS系统接收ZAS系统请求并注销ZCMS应用SESSION的入口;
数据同步URL:ZCMS系统接收ZAS系统请求并同步ZAS传递的用户信息入口;
代理回调URL:用于各个应用直接的数据通信请求地址,当前场景使用不到。
这些URL在ZCMS应用本身是没有的,是后面ZAS的客户端JAR包里配置的拦截器拦截并转到对应的SERVER。因为这些路径比较特殊,所以命名的时候可以考虑写的特殊点,避免跟ZCMS已有请求的路径有相似,这样,在后面ZCMS后台配置需要拦截的路径时,容易区分。
步骤二:把ZAS的客户端JAR包放入ZCMS的应用中,包括以下几部分:
1) 把com.zving.zas.clientPlugin.plugin.jar,com.zving.zas.clientPlugin.resource.jar,com.zving.zas.clientPlugin.ui.jar三个包放到ZCMS的\WEB-INF\plugins\lib目录下,并删除原有的包:com.zving.zas.plugin.jar。
2)把com.zving.zas.clientPlugin文件及该文件下的包放到\WEB-INF\plugins\required下,并删除原来的com.zving.zas文件夹。
3)把commons-codec-1.3.jar,commons-httpclient-3.1.jar,commons-logging-1.1.1.jar这三个包从com.zving.zas.clientPlugin里的com.zving.zas.client.jar包里解压出来,放到WEB-INF\lib下。
步骤三: 在ZAS后台验证中心的应用管理中,把步骤一添加好的ZCMS应用的配置文件导出,解压后把配置文件放到ZCMS应用的根目录下,如下图。
说明: 上面截图中的ZASClientConfig.json这个配置文件起始是没有的,需要自己建立一个空文件,里面放入内容“{}”。
步骤四: 配置ZCMS的拦截配置
前面步骤完成后,重启ZCMS应用,这个时候ZASClientConfig.json里面还是没有配置的,所以不会有拦截,直接可以进入ZCMS后台。由于多了ZAS客户端的插件,进入后台可以看到ZAS客户端配置的功能模块。如下图:
配置说明
处理URL: ZCMS需要ZAS拦截的路径配置,(使用相对站点路径,支持通配符'*',多个路径使用','分隔)。
排除URL:根据需求,在处理URL:里,不需要过滤的路径配置。
通讯配置文件:zas_client.config配置文件的存储位置,默认是读取应用根目录。一般不配置,因为我们前面已经把zas_client.config放到了应用根目录下。
ZASClient实现类:这个地方有3个可选,一般我们选取第2个和第3个。当我们集成的用户为ZCMS前台会员用户时,使用第2个Member插件登录实现;当我们集成的用户为ZCMS后台管理员用户时,使用第3个 Platform插件登录实现;第一种:无数据同步则只是简单建立SESSION,ZCMS系统不会有当前用户的信息,这种情况,只有在非常特殊,需求非常简单的场景下才会用到。
登陆后跳转页面:当用户登录成功后,但是没有传递登录后返回地址时,系统跳转去的地方。
配置完成,保存后,ZCMS系统会马上重启,使配置文件生效。
配置文件生效后,即已完成ZCMS也ZAS的单点登录集成。
追加说明
ZAS客户端插件自带的实现类只实现的MemberClient和PlatformClient两个场景的集成数据处理,对应插件的类为:com.zving.zas.client.impl.MemberClient 和com.zving.zas.client.impl. PlatformClient。他们都继承了ZASClient,并重写了对应的方法,以实现与ZAS系统用户数据同步、登录同步、注销同步等服务。当我们有新的用户类型需要集成时(即非ZDUER和ZCMember),我们可以新建一个实现类(比如com.zving.zas.client.impl.testClient),也继承ZASClient,并实现对应的方法,那么再后台的ZAS集成配置时,选择使用其他实现对应输入的新的实现类(com.zving.zas.client.impl.testClient),也就实现了新应用类型的集成。
|
所有评论仅代表网友意见