Skip To Content

使用 Java 设置自定义标识存储

ArcGIS Server 可通过自定义标识存储中的用户和角色获得安全保护。

注:

在 10.7.x 发布周期之后,将不支持自定义身份存储。有关建议的安全配置,请参阅控制 ArcGIS Server 中的访问

为此,ArcGIS Server 提供了一个可进行扩展以定义用户和角色管理功能的 Java 接口。通过此功能,能够使用 Java 访问的任何自定义标识存储都可用来配置 ArcGIS Server 安全性。例如,通过数据库的 JDBC(Java 数据库连通性)API,关系数据库系统可用作自定义标识存储。

使用 Java 配置自定义标识存储的主要步骤如下:

  1. 设置 Java 开发环境。
  2. 用 Java 实现标识存储。
  3. 将自定义标识存储部署到 ArcGIS Server
  4. 配置 ArcGIS Server 以使用自定义标识存储。

设置 Java 开发环境

  1. 在您的开发环境中安装 ArcGIS Server
  2. 在所选的 Java IDE 中创建 Java 项目。
  3. 在工程的构建路径中添加以下 Java 库:
    1. <ArcGIS Server 安装目录>\framework\lib\server\arcgis-admin.jar
    2. <ArcGIS Server 安装目录>\framework\lib\server\arcgis-common.jar
  4. 创建实现以下接口的 Java 类:
    1. com.esri.arcgis.discovery.admin.security.UserStore
    2. com.esri.arcgis.discovery.admin.security.RoleStore
    注:

    有关 Java 文档,请参阅 <ArcGIS Server installation directory>\help\samples\java\javadoc\index.html

用 Java 实现标识存储

实现 UserStore 和 RoleStore 接口的方法。有关实现示例,请参阅 <ArcGIS Server installation directory>\help\samples\java\CustomFileStore\

将自定义标识存储部署到 ArcGIS Server

  1. 将自定义标识存储实现打包成 .jar 文件。
  2. 停止 ArcGIS Server 进程。
  3. 将自定义身份存储的 .jar 文件和任何其他 java 库部署到 <ArcGIS Server installation directory>\framework\lib\server\ 文件夹。
  4. 启动 ArcGIS Server 进程。

配置 ArcGIS Server 以使用自定义标识存储

  1. 打开 ArcGIS Server Administrator Directory 并登录。
  2. 单击 security > config > updateIdentityStore
  3. 以 JSON 格式输入用户存储配置。语法如下:

    {
    	"type": "JAVA",
    	"class": "Fully qualified Java User Store class name",
    	"properties": {
    		"Property One": "value",
       ....
    		"Property X": "value"
    	}
    }

    类型和类参数为必填参数。每个存储属性都是可选的,并且取决于自定义标识存储的实现。例如,如果所需参数在实现中采用硬编码,则不需指定任何属性:

    {
    	"type": "JAVA",	"class": "Fully qualified Java User Store class name",	"properties": {}
    }

  4. 以 JSON 格式输入角色存储配置。语法如下:

    {
    	"type": "JAVA",	"class": "Fully qualified Java Role Store class name",	"properties": {
    		"Property One": "value",   ....		"Property X": "value"
    	}
    }

  5. 单击更新保存配置。