会话管理简介
SuperMap GIS 服务器支持配置集中式会话。集中式会话是指:将会话信息保存至第三方数据库,当需要再次建立相同的会话时,可直接从数据库中获取。
对于 GIS 服务器来说,开启集中式会话则意味着:用户使用同一浏览器,只需登录一次即可直接访问多个不同地址的 GIS 服务器,无需重复登录。相对来说,不开启集中式会话,即使用单一会话模式则意味着,用户每访问一台 GIS 服务器都需要登录一次,即使是同一用户也需登录,增加重复工作。
SuperMap GIS 服务器支持通过 Redis 数据库、PostgreSQL数据库、Kingbase数据库、GaussDB数据库及Vastbase数据库 存储会话信息。
注意:
- 集中式会话功能仅在同一类 SuperMap GIS 服务器间生效,如不同地址的 iServer 服务器可以进行会话共享,而 iServer 与 iPortal 之间无法实现集中式会话;
- SuperMap GIS 服务器之间相同的账户(用户名、密码均相同)才可以实现集中式会话。
配置集中式会话
开启集中式会话前,您需要准备可用的数据库服务。使用集中式会话的方法:
- 需要在 GIS 服务器中同时启用集中式会话
- 需将会话存储到同一个数据库服务器
其中,为某个GIS服务器启用集中式会话,需在管理员在“安全-安全配置-会话信息管理”页面,进行如下操作:
- 启用集中式会话,勾选启用
- 选择是否开启异地登陆警告。开启后可设置iServer会话超时时间,默认是18000000,单位:毫秒
- 连接数据库,选择“存储类型”
- Redis 数据库,支持以下三种连接方式:
-
- Redis 服务地址:用于存储会话信息的 Redis 数据库服务地址,格式为{ip}:{port},如:192.168.17.116:6379
- Redis 服务地址 + 密码
- Redis 服务地址 + 用户名 + 密码 (注:Redis 6.0 中引入了 ACL(Access Control List)的支持,在此前的版本中 Redis 中是无法设置用户名的,用户想使用此种连接方式,请首先升级 Redis 至 6.x,如配置用户名密码后仍无法正常连接,需确认 Redis 是否处于禁用保护模式,如未禁用,可执行“CONFIG SET protected-mode no”禁用。)
- PostgreSQL数据库、Kingbase、GaussDB数据库及Vastbase数据库,四者配置方法相同,仅支持一种连接方式:服务地址+用户名+密码,以PostgreSQL为例,页面参数设置参考如下:
-
- 服务地址:必填,用于存储会话信息的 PostgreSQL数据库服务地址,格式为{ip}:{port}/{database},例如172.16.120.212:5432/databasename,其中数据库必须为已有数据库
- 用户名:必填,PostgreSQL账户的用户名
- 密码:必填,PostgreSQL账户的密码
- 模式名:选填,存储会话信息表所在的模式,默认存储于public模式下。
- 会话信息存储表名:存储会话信息的表的表名,默认为 iserver_session
4. 点击“保存”使配置生效
此外,您还可以通过配置文件的来设置集中式会话,详见:iServer 配置文件说明。