ArcGIS Server 可通过自定义标识存储中的用户和角色获得安全保护。
注:
在 10.7.x 发布周期之后,将不支持自定义身份存储。有关建议的安全配置,请参阅控制 ArcGIS Server 中的访问。
为此,ArcGIS Server 提供了一个可进行扩展以定义用户和角色管理功能的 Java 接口。通过此功能,能够使用 Java 访问的任何自定义标识存储都可用来配置 ArcGIS Server 安全性。例如,通过数据库的 JDBC(Java 数据库连通性)API,关系数据库系统可用作自定义标识存储。
使用 Java 配置自定义标识存储的主要步骤如下:
- 设置 Java 开发环境。
- 用 Java 实现标识存储。
- 将自定义标识存储部署到 ArcGIS Server。
- 配置 ArcGIS Server 以使用自定义标识存储。
设置 Java 开发环境
- 在您的开发环境中安装 ArcGIS Server。
- 在所选的 Java IDE 中创建 Java 项目。
- 在工程的构建路径中添加以下 Java 库:
- <ArcGIS Server 安装目录>/framework/lib/server/arcgis-admin.jar
- <ArcGIS Server 安装目录>/framework/lib/server/arcgis-common.jar
- 创建实现以下接口的 Java 类:
- com.esri.arcgis.discovery.admin.security.UserStore
- 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
- 将自定义标识存储实现打包成 .jar 文件。
- 停止 ArcGIS Server 进程。
- 将自定义身份存储的 .jar 文件和任何其他 java 库部署到 <ArcGIS Server installation directory>/framework/lib/server/ 文件夹。
- 启动 ArcGIS Server 进程。
配置 ArcGIS Server 以使用自定义标识存储
- 打开 ArcGIS Server Administrator Directory 并登录。
- 单击 security > config > updateIdentityStore。
- 以 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": {} }
- 以 JSON 格式输入角色存储配置。语法如下:
{ "type": "JAVA", "class": "Fully qualified Java Role Store class name", "properties": { "Property One": "value", .... "Property X": "value" } }
- 单击更新保存配置。