需求:
1.单独的功能模块与ERP系统同存于一个数据账套中的,且该模块需要通过互联网开放给企业的客户或供应商之类的使用,同时从安全角度考虑,又希望限制这个站点对ERP模块(如财务。。。)的使用,例如由金蝶提供的供货平台子模块。
对于这类需求,有下述推荐方案: (如附图,假设两台服务器Ip分为192.168.0.8(企业内部,含管理中心), 192.168.0.9(公网))
1. 准备一台应用服务器,用来部署安装自定义模块,管理中心指向K/3 Cloude 标准产品所在的管理中心。
操作:修改{安装目录 }\WebSite\App_Data\Common.config 中的 ManagementSiteUrl=http://192.168.0.8:8000/
2. 在ERP服务器注册分服务器
操作:理中心配置{安装目录 }\ManageSite\App_Data\KDEnvironment.xml 中添加<WebServer HostName="192.168.0.8" Type="All"/>
3.安装(升级)自定义包
操作:192.168.0.8 上,双击自定义的功能模块扩展包,高级->仅选择站点 http://192.168.0.9/K3Cloud 即可,后续补丁也如此)
4.配置对应的服务器192.168.0.9上的功能模块,请参于生成下述说明配置其发项的功能项: 4.1 方案A(通过xml配置文件来实现 ) 4.1.1 修改配置文件WebSite\App_Data\Common.config ,在AppSetting 节中添加<add key="SitePermissionBy" value="Xml"/>
4.1.2 获取该文件,并配置其需要发布的功能项
下载: 配置模版文件 (SubFuncId对应表:子功能项(T_META_CONSOLESUBFUN), DetailFuncId对应表:功能明细(T_META_CONSOLEDETAIL))
4.2 方案B(通过数据表来存配置),并将模版保存到 {安装目录}\WebSite\App_Data 文件夹中,文件名为SitePermission.xml,文件格式为utf8
4.2.1 修改配置文件WebSite\App_Data\Common.config ,在AppSetting 节中添加<add key="SitePermissionBy" value="DB"/> 4.2.2 对应的表为:T_SEC_SITEPERMISSION,子表:T_SEC_SITEPERMISSIONDETAIL
4.2.2.1 T_SEC_SITEPERMISSION(FID(GUID), FSITEID(即WebSite\SiteInfo.xml中的SiteID),FFORBIDSTATUS(('A'启用,B禁用),FPERMISSIONSTATUS('A'/'C'))
4.2.2.1 T_SEC_SITEPERMISSIONDETAIL(FPKID(GUID), FID(T_SEC_SITEPERMISSION.ID), FTYPE(1:领域,2:子系统,3:子功能,4:功能明细), FTOPCLASSID(领域必填) FSUBSYSTEMID(当类型为2,3,4时必填) FSUBFUNCID(当类型为3,4时必填) FDETAILFUNCID(当类型为4时必填)')
5.特别补充:因为在打补丁时,管理中心(192.168.0.8)需要连192.168.0.9的8088及8089端口,所以需要在192.168.0.9的防火墙上设置开放端口号8088\8089.
附:示例图
说明,因为实际中,后续版本没有发布纯BOS安装包,所以,直接用标准安装包即可。
推荐阅读