iServer 默认将安全信息存储在 SQLite 数据库中,并支持 MySQL/Oracle 数据库存储。如果上述的存储方式不能满足需求,您可以基于 iServer 提供的安全信息存储接口(Storage 和 CustomSecurityInfoStorageSetting),来自定义用户信息的存储方式。
本节将以扩展使用json存储安全信息为例,为您介绍安全信息存储扩展的基本流程。
扩展基本流程:
- 实现json存储接口(JsonStorage)
实现自定义的存储方式,例如某个数据库中,或本地文件xml存储,本例将安全信息存储在本地json文件中
- 实现存储配置类(JsonStorageSetting)
实现存储配置类,本例用于指定json存储配置,包括磁盘存储位置等
- 编译代码
将扩展代码编译后导出为 JAR 包(参见:Extend_SecirityInfo.jar),并把 JAR 文件复制到【SuperMap iServer 安装目录】/webapps/iserver/WEB-INF/lib文件夹下
- 配置使用
在iServer的系统配置文件(【SuperMap iServer 安装目录】\webapps\iserver\WEB-INF\iserver-system.xml)中,配置使用扩展的json存储方式。具体操作:打开系统配置文件,在<management>下的<security>节点中,添加以下配置信息:
<storage class="com.supermap.server.config.JsonStorageSetting"> <type>CUSTOM</type> <outputDirectory>./WEB-INF</outputDirectory> <impl>com.supermap.services.security.storages.JsonStorage</impl> </storage>
其中:
- <storage>的 type 参数指向扩展实现的json存储配置类JsonStorageSetting
- <type>指定存储配置的类型,使用扩展存储时应设置为CUSTOM
- <outputDirectory>指定json在本地磁盘存储的具体位置