一、需求

项目中我们通常会遇到为外协团队、合作友商提供地图服务的需求,因此对地图服务的权限需要做出分配。

二、现状

主流的办法是用用户和角色来控制,通常使用代理方式和用户名密码的方式来实现。

三、思路

另一种方法是使用 token ,token 生成的方式有三种,分别是对某一 web 应用、固定 IP 、以及客户端 IP 。

可以看出最灵活的方法是用客户端 IP 生成 token 。

四、方法

1. 后台设置

(1)ArcGIS Server Manager > 安全性 > 角色 > 新建角色

(2)ArcGIS Server Manager > 服务 > 编辑权限 > 私有

(3)ArcGIS Token Service 调试

地址为:http://localhost:6080/arcgis/tokens/generateToken

通常情况下我们需要在这个页面拿到动态生成的 token,但是集成在项目中很不方便,因此观察获取 token 的请求如下:

http://localhost:6080/arcgis/tokens/generateToken?password=***&f=html&username=***&client=***&referer=&ip=&expiration=***&encrypted=true

我们就会得到一个动态生成的 token 。

2. 项目中集成

(1)示例

var getTokenUrl = "http://localhost:6080/arcgis/tokens/generateToken?password=***&f=html&username=***&client=***&referer=&ip=&expiration=***&encrypted=true";

$.ajax({
  url: getTokenUrl,
  success:function(res){
    var layer = new esri.layers.ArcGISDynamicMapServiceLayer("http://localhost:6080/arcgis/rest/services/SampleWorldCities/MapServer?token="+res);
    map.addLayer(layer);
  }
});

五、总结

这个方法不需要下载代理文件,更轻便,关于 token 的有效期也可以根据自己的需求来设置。

最新文章

  1. MyEclipse 2016 CI 3发布
  2. (47) odoo详细操作手册
  3. 搞懂 SynchronizationContext
  4. RGui的http代理设置
  5. FLASH CC 2015 CANVAS 实际应用过程中遇到的【粉色】问题(不定期更新)
  6. c#开源Excel操作库--NPOI
  7. BZOJ 4690 Never Wait for Weights
  8. [WebService]之TCPMon的使用
  9. sencha项目升级
  10. linux服务器下tomcat部署项目内存溢出
  11. python3.4 使用pymssql 乱码
  12. Webpact打包React后端Node+Express
  13. equals和hashcode为什么要一起重写
  14. 《Intel汇编第5版》 汇编逆转字符串
  15. 【shell编程基础1】shell变量篇
  16. 【JVM命令系列】jstat
  17. 从零开始搭建springboot+mybatis+thymeleaf增删改查示例
  18. Java开发笔记(八十四)文件与目录的管理
  19. 【dotNet Core】Swagger下简单的给WebApi分组
  20. Maven 学习总结 (二) 之 生命周期与插件

热门文章

  1. Git推送到多个远程仓库
  2. [洛谷P3613]睡觉困难综合症
  3. Leetcode(3)无重复字符的最长子串
  4. SpringBoot学习(一)基础篇
  5. Ubuntu 14.04风扇不停转,风扇狂转 的解决办法,亲测有效。
  6. 有些需要禁用的PHP危险函数(disable_functions)
  7. Java基础(40)String、StringBuilder和StringBuffer的区别(TODO)
  8. vuex状态管理详细使用方法
  9. MySQL 字段值为NULL,PHP用json转换,传给js,显示null
  10. SpringCloud番外篇-服务治理之Nacos