iPortal 配置文件说明

发送反馈


SuperMap iPortal 的主要配置信息位于 WEB-INF(【SuperMap iPortal 安装目录】\webapps\iportal\WEB-INF)目录下,关于目录说明请参考:安装之后目录说明

iPortal 配置文件简介

SuperMap iPortal 的配置文件包含 iPortal 门户功能的配置文件和与 iServer 共用的基础配置文件(关于 iServer 的配置文件说明请参见:iServer 配置文件说明)。

iPortal 门户功能的配置文件主要内容如下表所示:

配置文件的内容

文件名 描述
iportal.xml iPortal 门户的主要配置信息,包括数据库配置以及一些门户功能的配置等。
iportal-monitor.xml 监控数据库与服务器节点配置信息,包括用于监控数据存储的数据库配置、添加的 iServer 服务器节点信息、云原生 iServer 的微服务节点配置信息等。关于此配置文件的使用,请参见:服务器与监控配置文件

iportal-storage.xml

用户上传数据文件的存储配置信息,包括 FTP 服务器存储配置等。关于此配置文件的使用,请参见:托管数据存储配置

iportal-ehcache.xml

iPortal 代理服务访问权限信息缓存共享配置信息,默认保存在本地,无需配置。

门户配置文件

SuperMap iPortal 配置文件 iportal.xml,包含了 iPortal 门户的主要配置信息,根节点为 <IportalConfig>。<IportalConfig> 节点目前主要包含:

在启动 SuperMap iPortal 服务之前,建议您详细阅读下面的配置文件说明,方便您根据自身业务需求,做好产品的配置。

1. <dataSourceConnectionPoolInfo>

用于设置 SuperMap iPortal 数据库连接池,默认配置的是 SQLite 数据库,建议您选用 MySQL/Oracle/PostgreSQL/KingbaseES/HighGo/神舟通用(openGauss版) 数据库。

2. <uploadSetting>

3. <serviceSetting>

4. <serviceCheckSetting>

用于设置注册服务的动态更新时间,主要指检测单个服务的状态更新和批量注册服务的数量更新,两者分开配置,单位:分钟。

5. <serviceAuditSetting>

6. <registerSetting>

注意:如果设置部门、邮箱等多个信息,相应的需设置多个<field>节点,每个<field>节点中只能设置一个信息,例如:部门。

7. <loginSetting>

8. <shareSetting>

9. <mapsSetting>

10. <serviceProxy>

用于设置在 iPortal 中注册的服务是否使用代理,iPortal 默认启用内置服务代理功能

如果您不启用服务代理,会存在以下这种状况:

用户 A 注册了一个服务,并分享给用户 B,此时用户 B 知道了该服务地址。当用户 A 修改了该注册服务的共享设置后,用户 B 登录 iPortal 门户,在服务列表中看不到该条服务信息,但之前已经知道该服务地址的事实无法改变,用户 B 仍然可以访问该服务,服务的信息安全受到威胁。

启用服务代理后,只有服务的注册者和管理员可以看到原始的服务地址,其他有权限访问该服务的用户只能看到代理后的服务地址,在门户级别实现了对注册服务的访问控制。

    我们以注释的方式提供了以下 Redis 缓存的配置信息:

注意

11. <customDirectorySetting>

用于设置自定义目录的显示或者隐藏。支持自定义目录功能的资源类型有:地图(MAP)、服务(SERVICE)、数据(DATA)、场景(SCENE)、项目(APP)、洞察(INSIGHTS),默认值均为:false,不显示自定义目录。您可以针对性地开启某类资源的自定义目录功能。关于自定义目录配置请参见:自定义目录配置

12. <defaultInternetBuildinMapSetting>(已过期)

13. <httpHeaderSetting>(已过期)

用于设置允许访问 iPortal 资源的域。自 iPortal 9D(2019) SP1起,该配置项已过期,iPortal 默认支持所有跨域访问,如果您希望只允许指定域可访问,可将 %SuperMap iPortal_HOME%\webapp\iportal\WEB-INF\web.xml 文件中 cors.allowed.origins 参数值由默认的 *(支持所有域访问)修改为指定可访问的域。如果您希望在跨域访问时携带 cookie,还需将 cors.support.credentials 的值设置为 true。

14. <departmentSetting>

15. <mapApps>(已过期)

Map App 集合,用于扩展用户自定义的地图应用 APP,默认值:mapViewer_v2,使用 iPortal 内置的 V2版本(新版)数据上图 APP。

16. <groupSetting>

用于设置在“我的申请”和“我的授权”页面是否显示群组相关信息。默认值:true,显示群组相关信息。

17.<portalCustomSetting>

门户自定义设置。

18.<mapViewerSetting>

用于设置数据上图中,地图中允许添加的矢量要素总数的最大值,默认值:3000。

19.<cookieStorage>

登录用户的 cookie 存储配置,用于 iPortal 与内置代理服务之间的 session 共享。iPortal 内置的服务代理支持两种方式来存储登录用户的 Cookie 信息:Ehcache 缓存和 Redis 缓存。系统默认使用的是 Ehcache 缓存,您无需进行任何配置,可直接使用。 此外,iPortal 与独立部署的服务代理之间的 session 共享支持 Memcached 与 Redis 两种方式,详细配置请参见: iPortal 与独立部署的服务代理之间的 session 共享

    我们以注释的方式提供了以下 Redis 缓存的配置信息:

20.<appsConfig>

用于设置 iPortal 中内置的 WebApps 配置。

21.<proxyUriRuleConfig>

 用于设置 getURLResource 资源中的 SSRF 防御配置。

22.<searchModuleConfig>

 用于设置 iPortal 的全局搜索功能。

23.<httpsConfig>

 iPortal 的 https 证书信任设置。

24.<keyConfig>

 iPortal 中密钥(Resource Key) 的配额设置。

25.<innerRequestConfig>

 iPortal 服务器请求超时配置。

26.<resourceAuthorizationSetting>

 iPortal 资源授权设置。

27.<securitySetting>

28.<defaultUserResourceQuotas>

iPortal 资源配额设置。

注意:如果同一配额项设置了多个配额,以第一个配额为准。

服务器与监控配置文件

服务器与监控配置文件 iportal-monitor,根节点为 <monitor>。 <monitor>节点主要包含以下内容:

1.<recordDSCPInfo>

设置用于存储 iPortal 服务器监控数据的数据库连接池,默认配置的是 SQLite 数据库,建议您选用 MySQL 数据库。

2.<cloudNodeSelectStrategies>

如果您在 iPortal 中添加了云原生环境的 iServer 服务器用于发布服务,您可以在 iportal-monitor 中手动添加 <cloudNodeSelectStrategies> 节点以设置微服务节点策略,其中的每一个 <cloudNodeSelectStrategy> 元素用于配置一个具体的微服务节点策略,包含以下属性: