扩展安全信息存储方式

发送反馈


iServer 默认将安全信息存储在 SQLite 数据库中,并支持 MySQL/Oracle 数据库存储。如果上述的存储方式不能满足需求,您可以基于 iServer 提供的安全信息存储接口(Storage 和 CustomSecurityInfoStorageSetting),来自定义用户信息的存储方式。

本节将以扩展使用json存储安全信息为例,为您介绍安全信息存储扩展的基本流程。

扩展基本流程:

  1. 实现json存储接口(JsonStorage)

实现自定义的存储方式,例如某个数据库中,或本地文件xml存储,本例将安全信息存储在本地json文件中

  1. 实现存储配置类(JsonStorageSetting)

实现存储配置类,本例用于指定json存储配置,包括磁盘存储位置等

  1. 编译代码

将扩展代码编译后导出为 JAR 包(参见:Extend_SecirityInfo.jar),并把 JAR 文件复制到【SuperMap iServer 安装目录】/webapps/iserver/WEB-INF/lib文件夹下

  1. 配置使用

在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>

其中: