为保证 iPortal 中的代理服务能够正常访问,管理员需对登录用户的 Cookie 信息进行存储配置,实现 iPortal 与代理服务的 session 共享,即:用户登录到 iPortal 门户后,即可访问代理服务。

iPortal 和独立部署的代理服务之间 session 共享支持 Memcached 和 Redis 两种方式,需要分别在 iPortal 安装包和服务代理安装包中进行配置。本篇介绍在服务代理安装包中的 session 共享配置。

使用 Memcached 实现独立代理与 iPortal 的 session 共享

  1. 安装并启动 Memcached 服务

若已安装并启用 Memcached,跳过此步。若未安装,参见:Memcached 配置

iPortal 和独立部署的代理服务之间通过共享存储在缓存 Memcached 中 session 来实现 session 的共享。

  1. 打开 server.xml 文件(位于 %SuperMap iPortal_Proxy_HOME%\conf 目录下),在 <Host>节点中添加如下内容。属性介绍,参见:Memcached 配置项介绍

<Context path="">

<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"

memcachedNodes="n1:127.0.0.1:11211"

sticky="false"

sessionBackupAsync="false"

lockingMode="all"

requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"

transcoderFactoryClass="de.javakaffee.web.msm.JavaSerializationTranscoderFactory"/>

</Context>

使用 Redis 实现独立代理与 iPortal 的 session 共享

iPortal 安装包和独立部署的代理安装包均依托于 Tomcat,所以可以借助 Tomcat 集群基于 Redis 的会话共享机制实现 session 共享。在代理安装包的配置与在安装包中的配置相同,参阅:使用 Redis 实现 iPortal 与独立代理的 session 共享

请参见