1、用户同步
使用云之家同步工具同步人员数据到云之家端。将EAS端的用户和云之家端用户进行绑定。
云之家同步工具功能操作指南,可参考: https://vip.kingdee.com/article/216139742775972096
2、配置单点登录语言和数据库(多个实例的每个实例都需要修改)
修改autoLoginConfig.properties文件:
打开服务端server\profiles\server(1…n)\config\portalConfig目录下的autoLoginConfig.properties文件,文件内容如下:
其中需要修改的参数如下:
• Datacenter: 数据中心代码,即EAS portal要登录的数据中心代码 (即:数据中心编码,EAS管理控制台可查看);
• authPattern:认证模式,值为BaseTrdLtpaToken,一般默认值是这个,不需要修改
• locale:语言项,其中:L1=英文 L2=简体 L3=繁体;
• dbType:数据库类型,其中:MS-SQL-SERVER=0 DB2=1 ORACLE=2 pg数据库=5达梦数据库=11
3、修改配置文件QrCodeToken.properties
3.1 EAS Cloud 8.6.1及以上版本
用administrator用户登录EAS 网页端,进入【系统平台-系统工具-参数配置-全局参数配置】菜单界面,配置云之家扫码登录&云之家单点登录EAS公共信息。如下图:
应用ID和秘钥:填写在云之家端单点登录EAS入口轻应用对应的APP ID和APP Secret,如下图。
云之家接口认证地址:
若客户云之家是公有云,则无需修改出厂预设的地址信息;若是私有云,则将如下地址中的云之家地址改成私有云地址。
获取云之家人员Openid地址:
若客户云之家是公有云,则无需修改出厂预设的地址信息;若是私有云,则将如下地址中的云之家地址改成私有云地址。
注:且修改此配置信息后,无需重启EAS服务。
3.2 EAS Cloud V8.6.1以下版本
EAS V8.2及以前版本文件目录为 :
文件目录:…\eas\server\profiles\server1\config\portalConfig\QrCodeToken.properties
EAS V8.5版本文件目录为:
在…\eas\server\properties\QrCodeToken.properties
将app.id和app. secret设置为云之家端单点登录EAS轻应用的APP ID和APPSecret
另注意:app.callback.url(云之家回调EAS的url),保证云之家正常能访问到(1、EAS开通外网,2、apusic的跨网段访问白名单)
一般云之家的默认域名是:www.yunzhijia.com,如果现场自定义了域名,如改成www.ceshidemo.com 。除了上述的app.tickttoken.url和app.logincode.url两个参数的前缀要修改以外,还需要在配置文件再加入app.auth.url参数,
参数值为:https://私有云之家部署的ip或者域名/openauth2/api/appAuth2
例如(图片只是举例说明需要添加app.auth.url参数,以及修改app.tickttoken.url和app.logincode.url两个参数。其余app.id和app.secret和app.callback.url与前面的截图可能不一致,请忽略):
另外,如果服务器\eas\server\properties目录下存在GlobleLogin.properties文件的话,代码中会优先加载该文件的参数。因此,GlobleLogin.properties文件也需要修改上面提到的app.id,app.secret,app.callback.url,app.tickttoken.url,app.logincode.url,app.auth.url等参数。
注意:修改配置文件后,需重启EAS应用服务。
4、配置云之家轻应用:
创建或者管理轻应用,然后在下面的移动端或者更多设置里面配置访问eas的地址,前面一段http://easdemo.kingdee.com:7888/portal/cloudToEASServlet为eas登录入口;后面可加上redirectTo作为登录后跳转的地址:
?redirectTo=/easweb/dynamicPage.do?method=doEvent&waf2skin=easbase&uipk=com.kingdee.eas.cp.bc.LimitReport&event=initialize&isFromDynamic=true&inwafpage=true
合起来如下例子所示,跳转到一个web单据:
http://eas demo .kingdee.com:7888/portal/cloudToEASServlet?redirectTo=/easweb/dynamicPage.do?method=doEvent&waf2skin=easbase&uipk=com.kingdee.eas.cp.bc.LimitReport&event=initialize&isFromDynamic=true&inwafpage=true
跳转shr员工自助界面的示例:http://www .shr.com /portal/cloudToEASServlet?pageUrl=/shr/dynamic.do?uipk=shr.perself.homepage&inFrame=true&blank=true
此处填写shr系统的域名或者ip地址加端口。
登录进来后,跳转到EAS首页:
http://IP:端口/portal/cloudToEASServlet?pageUrl=/portal
跳转到shr首页:
EAS Cloud V8.6.1及之前版本
http://IP:端口/portal/cloudToEASServlet?pageUrl=/shr
EAS Cloud V8.8版本需要更新单点登录模块补丁PT171550,企业门户补丁PT169926。
其中补丁PT171550是解决兼容云之家带ticket的问题。
跳转报销工作台:
http:// IP :端口/portal/cloudToEASServlet?redirectTo=/easweb/dynamicPage.do?waf2skin=easbase&method=doEvent&uipk=com.kingdee.eas.cp.bc.DynamicMainPage_Open&event=initialize&clientHeight=846&conversationid=null&debug=true&renderModel=client
5、云之家单点登录EAS常见问题:
问题1:
单点登录,日志提示:
2022-10-13 09:35:25 严重 [apusic.com.kingdee.portal.web.servlet.yzj.util.CloudToEASManager-Thread 339] {"success":true,"errorCode":0,"data":{"appid":"500809433","eid":"17051305","openid":"5d1d97cae4b011abe8248aff","username":"李志斌","uid":"121568475","tid":"17051305","userid":"5d1d97cae4b011abe8248abc","oid":"5d1d97cae4b011abe8248aff","networkid":"5d1d97cae4b011abe8248adf","xtid":"5d1d97cae4b011abe8248afe","ticket":null,"deviceId":null,"jobNo":"ZB02"},"error":null}
2022-10-13 09:35:25 严重 [apusic.com.kingdee.portal.web.servlet.yzj.util.CloudToEASManager-Thread 339] QrCodeLogin : from yunzhizjia UserName 李志斌
2022-10-13 09:35:25 严重 [apusic.com.kingdee.portal.web.servlet.yzj.CloudToEASServlet-Thread 339] 找不到关联用户,openid is 5d1d97cae4b011abe8248aff
可以把日志中的openid :5d1d97cae4b011abe8248aff放到以下两张表查询一下:
SELECT * FROM T_pm_easxtusermap umap where fxtid = ‘5d1d97cae4b011abe8248aff’
SELECT * FROM t_xt_user where fid = ‘5d1d97cae4b011abe8248aff’
然后判断一下是否有相应的映射数据,或者是不是映射错人了。
如果映射两个用户也不行,需要删除掉其中一条。这里只能一一对应。
备注:如果上述第二和第三步骤中,autoLoginConfig.properties和QrCodeToken.properties配置有误,也会出现改报错日志。
报错解决方案:
删除中间表人员后,再点一下【数据更新】即可。
问题2:第三方系统单点登录跳转portal,提示重定向的次数过多(err_too_many_redirects)
问题3:单点登录报404错误,刷新页面可以进入
这2个问题是启用了白名单拦截。没有把第三方系统的IP加入白名单的问题,禁用白名单拦截或添加白名单即可。解决方法如下
方法1:
用administrator登录SHR,打开单点登录配置进行设置,如下图
方法2:
修改\apusic\domains\server*\config\web.xml,找到serverNameWhiteList过滤器,将提示重定向次数过多的ip地址填入,如下图
方法3:
修改\apusic\domains\server*\config\web.xml,把enableCSRFCheck设置为false,如下图
如果修改配置还不行,可能是缓存影响,可清除apusic缓存(删除apusic\domains\*\deploy\目录下的所有文件),再次重启服务
问题4:跳转到shr首页后缺少域名端口
解决方案:
在跳转的地址中,pageurl加上域名端口,如
http://IP:端口/portal/cloudToEASServlet?pageUrl=//IP:端口/shr。
若加上域名端口后,还无法跳转,则在pageurl后配上shr环境绝对路径,如
http://IP:端口/portal/cloudToEASServlet?pageUrl= http://IP:端口/shr