HW IMC(ver.2020-04-28) 集成 金蝶云星空
本篇基础:json语法,xml语法,http/https基础知识,iis基础知识,chrome浏览器
云星空与 xx-IMC工业云集成
一、项目需求
xx - IMC工业云平台认证系统基于Cas2.0标准开发,在IMC平台上集成用户直接登入金蝶云星空,并实现IMC用户与云星空用户同步切换,权限隔离,同步注销,单点重入等功能。在云星空端入口实现HTML5端,Silverlight端,GUI桌面端的IMC登入集成校验,同时支持多数据中心,多租户隔离等功能。
二、整体集成架构
1、 集成模式
1.1、IMC平台 嵌套 云星空应用 (测试:https://smart-imc.com/ )
IMC嵌套云星空HTML5应用
IMC嵌套云星空Silverlight应用
1.2、云星空入口集成IMC认证
云星空HTML5集成IMC认证 (测试 https://licv75.opstest.ik3cloud.com/k3cloud/html5/index.aspx )
云星空Silverlight集成IMC认证 (测试 https://licv75.opstest.ik3cloud.com/k3cloud/Silverlight/index.aspx )
云星空GUI集成IMC认证 (下载运行后登陆界面已集成imc认证)
1.3、 以上全部支持单/多数据中心模式
单数据中心默认指定模式
多数据中心人工交互选择模式
1.4、HTML5支持定制传参模式
(参考:6、扩展功能 )
1.5、现阶段仅支持单租户模式与IMC工业云集成,不支持多租户用户与工业云集成。
2、整体架构
三、xx-IMC端配置
由xx-IMC平台维护实现配置。https://smart-imc.com/
四、云星空端配置
【“
特别声明:
1、修改任何配置文件之前,请对目标文件进行备份;
2、从论坛中拷贝出来的配置脚本,先拷贝到记事本中,并用中文空格全局替换为英文空格,然后再从记事本中拷贝到目标配置文件中进行保存。;
3、配置文件应该保证 xml语法 完整性,不能有语法错误;
4、任何配置文件默认都应该是 UTF-8 格式,请不要随意修改文件格式;
”】
(安装7.5+20201015之后最新补丁)
1、配置AOP处理器
website/web.config 的 httpmodule节点下增加处理器
<!--Cas回调处理模块module--> <add name="KDIMCCasAuthModule" type="Kingdee.BOS.ServiceFacade.KDServiceWIF.CasAuth.IMCCasAuthModule,Kingdee.BOS.ServiceFacade.KDServiceWIF"/>
2、配置云星空集成参数包
website/app_data/common.config 的 configuration/appSettings路径下增加配置项(注意键值唯一,不要重复配置)
<!-- 2.1、Cas配置文件--> <add key="CasAuthCfg" value="imccas.config"/> <!--2.2、启动集成校验路由器--> <add key="StartAppPlugin" value="Default"/> <add key="StartAppPluginUDConfig" value="{encoding:'utf-8'}" /> <!--2.3、X-Frame-Options 需要加入imc集成门户信任站点白名单--> <add key="FrameOptionsWhiteList" value="smart-imc.com;;" /> <add key="DefaultFrameOptions" value=""/> <!--2.4、登录界面检测启动本地服务情况(=0:不检查;=1:自动启用检查功能)--> <add key="AutoCheckLocalServiceTray" value="0"/>
3、配置云星空IMC的集成参数包 (参考附件:imccas.config.zip )
common.config中配置<add key="CasAuthCfg" value="imccas.config" />设置指向imc配置参数文件。
一般情况下如果是标准Cas2.0,只需要拷贝附件配置模板,修改serverName属性即可(实时生效,无需重启iis)。
下图是配置文件中重点参数的说明。
支持服务器参数改名: dynaCasParamKey="_imc_auth"
4、检查客户端登录定制组件的部署文件为最新补丁文件即可(最新安装包自动部署,这里仅供检查参考)
4.1、WebSite\ClientBin\K3CloudClient\controlplugins\Kingdee.XPF.CustomLoginUIPlugins.dll.deploy
5、云星空应用服务器需要安装xx-IMC工业云证书。
5.1、下载Windows版IMC-CA根证书:https://imc-repository.obs.cn-south-1.myhuaweicloud.com/imc-ca/imc-cacert.cer
5.2、双击打开证书文件imc-cacert.cer,点击“安装证书”。
5.3、点击“下一步”后,选择“将所有证书下列存储(P)”,点击“浏览(R)…”,在弹出的对话框里选择“受信任的根证书颁发机构”。
5.4、单击“确定”、“下一步”、“完成”,完成服务证书导入。
5.5、如果后端服务代码是Java,还需要将根证书导入JDK信任证书库。详情请参考《IMC第三方应用集成验证方案.pdf》参考指令备忘: (上面PDF资料由xx-IMC提供)
keytool -import -v -trustcacerts -alias imcca -file imc-cacert.cer -storepasschangeit -keystore "%JAVA_HOME%\jre\lib\security\cacerts
6、IMC嵌套云星空模式需要xx-IMC管理员配置连接。
五、演示
1、云星空HTML5集成:
附件 1.webp
2、Imc嵌套云星空集成模式(HTML5):
附件 2.webp
3、云星空Silverlight集成:
附件 3.webp
4、云星空桌面应用GUI集成: K3Cloud_With_Imc_GUI.zip
附件 4.webp
六、扩展功能
1、支持url初始化参数 loginuidata 和 entryrole(js插件挂载)
1.1、格式JSON:loginuidata = {dbid,lcid,user,formid,formtype,entryrole,otherargs,pkid }
1.2、【参数说明】:
dbid:数据中心的ID;
entryrole:验证权限的入口角色,默认为html5;
lcid(可选):语言ID,中文2052(默认),英文1033,繁体3076;
formid: 登录后默认打开功能的表单id;
formtype:登录后默认打开功能的格式,单据 bill和列表list, 动态表单建议为表单Id;
pkid:formid对应bill表单的主键;formtype为 bill时调出具体表单,如果为空表示新增状态;
otherargs:作为用户自定义参数传入,使用于二开,具体内容和格式由二开人员确定,最终在指定表单的插件中通过OpenParameter的GetCustomParameter("StartAppArgs") as StartAppHomePageArgs的对象的CustomArgs传递;
1.3、参考:与免登参数一致,支持 utf8+base64 编码,具体可参考免登参数列表 :https://wenku.my7c.com/article/8928
七、填坑
1、IMC嵌套模式下会使用IFrame,但Chrome80以上对Iframe有严格限制,所有iframe内部请求强制cookie为lax,导致登录失败提示超时。
解决方案:由于chome有多个配置,在samesite=none时会强制移除。微软的DotNetFrameWork一直到4.7.2才支持这个新参数。各种因素导致无法在服务端统一控制浏览器行为。目前解决方案三个:
1.1、强制设置SameSite为None,参考:https://wenku.my7c.com/article/10581 【17、如何配置cookie的samesite参数 -- 方案三、重症治疗-混合使用】
1.2、打开Chrome设置,将chrome://flags/#same-site-by-default-cookies禁用,然后重启浏览器。(可选)
1.3、直接采用云星空入口模式,避开IFrame的嵌套,从而避开chrome80以上的这个坑。(可选)
2、上述对接都依赖xx-协议2020.04.28.V1版本
例如服务器地址:
--------------------------------------------------------------------------------
--上次编辑于2021年1月15日 14:52:31
--上次编辑于2021年1月5日 10:43:16
--上次编辑于2020年11月9日 21:43:16
。。。。。。
2021-9-30 后 HW IMC 平台进行了重构,导致原来的适配功能不再适用,需要重新适配,上面正文仅做一个历史备忘参考吧。
2021-11-30 最新版本的HW IMC 新平台适配内容参考: 【HW IMC 集成 金蝶云星空】https://vip.kingdee.com/article/269511905549787904
附件与demo动画!
<!-- Simulation Cas Server -->
<add name="IMCCasServerSimuModule" type="Kingdee.BOS.ServiceFacade.KDServiceWIF.CasAuth.IMCCasServerSimuModule,Kingdee.BOS.ServiceFacade.KDServiceWIF"/>
【emoji】脑力提升
HW IMC(ver.2020-04-28) 集成 金蝶云星空
本文2024-09-16 18:41:29发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-23781.html