SuperMap GIS 服务器默认将用户信息存储在 SQLite 数据库中,同时支持将用户信息存储在 MySQL/Oracle/PostgreSQL 数据库中,以及其他自定义存储位置。
管理员可以在“安全-安全配置”页面设置安全信息的存储位置。具体来说,管理员可以:
使用 SQLite 数据库存储
SuperMap GIS 服务器默认将安全信息和服务信息存储在 SQLite 数据库中,以 iServer 为例,存储目录位于【SuperMap iServer 安装目录】\webapps\iserver\WEB-INF 下,分别对应 iserver-security.db、iserver-services.db。
您可以根据需要,修改存储安全信息和服务信息的 SQLite 数据库的位置和名称。例如:将安全信息存储位置改为 ./WEB-INF/iserver-security2016,点击“切换”按钮,iServer 会自动将初始化管理员信息(第一次启动 iServer 时创建的管理员账户)同步到【SuperMap iServer 安装目录】\webapps\iserver\WEB-INF\iserver-security2016.db 中,同时使用该数据库存储后续生成的安全信息。
使用 MySQL 数据库存储
SuperMap GIS 服务器支持将安全信息存储在 MySQL 数据库中。如果您还未获得可用的 MySQL 服务,需要先安装和配置数据库 ,具体方法可参考:MySQL 安装与配置。使用 MySQL 数据库存储安全信息的配置如下:
- 存储类型:选择 MySQL 数据库。
- 服务地址:MySQL 的服务地址形式为 {ip}:{port}/{database}。其中,{ip}为 MySQL 所在机器的 IP 地址,{port}为 MySQL 的服务端口,默认为3306,{database}为数据库名。这些参数您可以根据您安装的 MySQL 的实际情况来配置。
- 用户名:具有数据库{database}权限的用户。
- 密码:该用户的密码。
- 使用数据库存储的管理员:针对数据库中已经存储了初始化管理员(例如:admin1)的情况,两种选择:默认不勾选,则将使用当前 iServer 的初始化管理员(admin2),同时覆盖数据库中存储的初始化管理员(数据库中存储的管理员将被改写为 admin2);如果勾选,将使用数据库中已经存储的初始化管理员(admin1),而不是当前 iServer 的管理员(例如:admin2)。
使用 Oracle 数据库存储
SuperMap GIS 服务器支持将安全信息存储在 Oracle 数据库中。如果您还未获得可用的 Oracle 服务,需要先安装和配置数据库 ,具体方法可参考:Oracle安装与配置。使用 Oracle 数据库存储安全信息的配置如下:
- 存储类型:选择 Oracle 数据库。
- 服务地址:Oracle 的服务地址形式为 {ip}:{port}/{database}。其中,{ip}为 Oracle 所在机器的 IP 地址,{port}为 Oracle 的服务端口,默认为1521,{database}为数据库名,设置为您在安装 Oracle 时的数据库实例名,默认为 orcl。这些参数您可以根据您安装的 Oracle 的实际情况来配置。
- 用户名:分配了表空间,并具有表空间权限的用户。
- 密码:该用户的密码。
- 使用数据库存储的管理员:针对数据库中已经存储了初始化管理员(例如:admin1)的情况,两种选择:默认不勾选,则将使用当前 iServer 的初始化管理员(admin2),同时覆盖数据库中存储的初始化管理员(数据库中存储的管理员将被改写为 admin2);如果勾选,将使用数据库中已经存储的初始化管理员(admin1),而不是当前 iServer 的管理员(例如:admin2)。
使用 PostgreSQL 数据库存储
SuperMap GIS 服务器支持将安全信息存储在 PostgreSQL 数据库中。如果您还未获得可用的 PostgreSQL 服务,需要先安装和配置数据库 ,具体方法可参考:PostgreSQL安装与配置。使用 PostgreSQL 数据库存储安全信息的配置如下:
- 存储类型:选择 PostgreSQL 数据库。
- 服务地址:PostgreSQL 的服务地址形式为 {ip}:{port}/{database}。其中,{ip}为 PostgreSQL 所在机器的 IP 地址,{port}为 PostgreSQL 的服务端口,默认为5432,{database} 为数据库名。这些参数您可以根据您安装的 PostgreSQL 的实际情况来配置。
- 用户名:具有数据库{database}权限的用户。
- 密码:该用户的密码。
- 使用数据库存储的管理员:针对数据库中已经存储了初始化管理员(例如:admin1)的情况,两种选择:默认不勾选,则将使用当前 iServer 的初始化管理员(admin2),同时覆盖数据库中存储的初始化管理员(数据库中存储的管理员将被改写为 admin2);如果勾选,将使用数据库中已经存储的初始化管理员(admin1),而不是当前 iServer 的管理员(例如:admin2)。
点击“切换”按钮后,iServer 会自动将初始化管理员信息(第一次启动 iServer 时创建的管理员账户)同步到配置的数据库中,同时使用该数据库存储后续生成的安全信息。
此外,如果您想切换回默认的本地 SQLite 数据库,直接选择存储位置为“SQLite”数据库即可。
如果上述几种用户存储方式不能满足需求,您可以基于 SecurityInfoStorage 接口,来自定义用户信息的存储方式。扩展方法的详细介绍请参考:扩展用户信息的存储方式。