700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > ArcGIS API For Javascript :如何动态生成 token 加载权限分配的地图服务?

ArcGIS API For Javascript :如何动态生成 token 加载权限分配的地图服务?

时间:2023-04-29 15:28:14

相关推荐

ArcGIS API For Javascript :如何动态生成 token 加载权限分配的地图服务?

一、需求

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

二、现状

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

三、思路

另一种方法是使用 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 的有效期也可以根据自己的需求来设置。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。