1、登录manager(图1)
2、切换到Security选项中的setting选择其中的Security Store,并点击configure(图2)
3、配置安全所需的用户角色到外部数据库中(图3)
注:此处以oracle为例(在配置前需要将针对oracle版本的JDBC驱动拷贝到<ArcGISServer install>\java\manager\config\security\lib目录下,并且新建表空间和用户用于存储Token中的用户和角色信息);其中JDBC Driver如果使用的是oracle则为固定字符串oracle.jdbc.driver.OracleDriver;JDBCURL:jdbc:oracle:thin:@172.16.139.49:1521:databasename。Username和Password为前面新建的oracle用户的用户名和密码。
4、测试连接并完成向导(图4、5、6)
注意在外部数据库配置完成后需要重新启动arcgis相关的服务
5、维护角色信息(图7)
6、维护用户信息(图8)
7、对服务进行授权:如果授权为Eeryone则相当于没有安全限制(图9)
8、启用Token安全配置(图10)
9、访问服务(图11、12、13)如果服务正常说明安全配置已经完成
10、停用Token安全服务方法
①由于在manager中没有提供直接停用Token的方法所以需要手动修改配置文件
②停止ArcGISServer的相关服务
③找到安装目录下的<ArcGISServer install>\server\system\Server.dat使用记事本打开,修改其中的SecurityEnabled节点中的值为false,保存并关闭。
④重新启动ArcGISServer相关服务.
11、JAVA ADF开发注意问题(需要配置用户信息到配置文件中)红色部分表示需要配置的安全用户信息
<managed-bean>
<managed-bean-name>agsUser1</managed-bean-name>
<managed-bean-class>com.esri.adf.web.ags.data.AGSUser</managed-bean-class>
<managed-bean-scope>none</managed-bean-scope>
<managed-property>
<property-name>domain</property-name>
<value>192.168.1.100</value>
</managed-property>
<managed-property>
<property-name>passwordEncrypted</property-name>
<value>false</value>
</managed-property>
<managed-property>
<property-name>userName</property-name>
<value>administrator</value>
</managed-property>
<managed-property>
<property-name>password</property-name>
<value>administrator</value>
</managed-property>
</managed-bean>
12、用户密码加密问题(ANT)用户密码以明文的形式存储在配置文件中,相对已经较为安全,但可以对用户密码进行加密处理以提高安全性。(图14)
可以直接CMD下转到ArcGIS/java/tools/password_encryption目录执行ant命令,如果无法识别命令则需要配置PATH环境变量中追加;%ANT_HOME%\bin;一般server默认安装的ANT位于ArcGIS/java/tools/ant目录内。
如果还是无法执行可以考虑如下步骤
下载:ant:
http://www.apache.org/dist/ant/binarie http://ant.apache.org/bindownload.cgi
①设置环境变量 JAVA_HOME为JDK安装目录
②设置环境变量 ANT_HOME为下载的ant根目录
③设置环境变量 PATH中追加;%ANT_HOME%\bin;
④测试通过在CMD下执行 ant -version
⑤CMD下转到ArcGIS/java/tools/password_encryption目录执行ant命令
13、关于应用服务和TOKEN服务地址的跨网段问题
JAVA版本的TOKEN和应用服务必须在同一网段内否则应用无法获取到TOKEN导致地图服务无法被使用。ADF程序可能会提示资源被移除之类的错误信息。