为保证 iPortal 中的代理服务能够正常访问,管理员需对登录用户的 Cookie 信息进行存储配置,实现 iPortal 与代理服务的 session 共享,即:用户登录到 iPortal 门户后,即可访问代理服务。
iPortal 和独立部署的代理服务之间 session 共享支持 Memcached 和 Redis 两种方式,需要分别在 iPortal 安装包和服务代理安装包中进行配置。本篇介绍在服务代理安装包中的 session 共享配置。
使用 Memcached 实现独立代理与 iPortal 的 session 共享
- 安装并启动 Memcached 服务
若已安装并启用 Memcached,跳过此步。若未安装,参见:Memcached 配置。
iPortal 和独立部署的代理服务之间通过共享存储在缓存 Memcached 中 session 来实现 session 的共享。
- 打开 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 共享。
请参见