免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 6738|回复: 10
收起左侧

[求助] 如何使用URL+TOKEN的方式访问加密的ArcGIS Server地图

[复制链接]

4

主题

2047

铜板

1

好友

助理工程师

Rank: 5Rank: 5

积分
127
发表于 2016-11-9 10:59 | 显示全部楼层 |阅读模式
我想通过在IE中输入地图URL+TOKEN的方式,实现对一个设置了特定用户的地图浏览。

比如说,我把默认的地图设置为只有amin才可以浏览,打开地图时,会显示登陆界面,输入admin用户和密码后可以查看地图。地址为:http://localhost:6080/arcgis/rest/services//SampleWorldCities/MapServer?f=jsapi?f=jsap
如图



通过TOKEN生成页面,获得一个TOKEN,这里输入的的用户名和密码绝对没有错误。如图:




获得TOKEN
Ak9xVxvmbnlawj8Z6oK-Q2FAaZCrwdL44dsNMffIRN8-DNgugNHs5DYzHCIIYnUpQRqZTJ2KwfQI21Px05HhSnwQWwphwbx3yKygqd26mGqiJALAI5TFBUL8-AFHkUDiGvMlVYk-y_rpvjiPX2kM1A..



那么,是不是我在IE里面输入以下代码就能直接访问刚才的地图而不用输入用户名和密码了呢?
http://localhost:6080/arcgis/rest/services//SampleWorldCities/MapServer?token=Ak9xVxvmbnlawj8Z6oK-Q2FAaZCrwdL44dsNMffIRN8-DNgugNHs5DYzHCIIYnUpQRqZTJ2KwfQI21Px05HhSnwQWwphwbx3yKygqd26mGqiJALAI5TFBUL8-AFHkUDiGvMlVYk-y_rpvjiPX2kM1A..

实际上,我在IE里面输入上述地址之后,浏览器显示如下,还提示输入,但是怎么输入正确的用户名和密码都是这个界面。




为什么我使用正确的TOKEN却打不开相应的地图呢?用法什么地方有错吗? 我把TOKEN的验证方式改为IP依然出现上述界面。
我见过ERSICHINA的王诗华在一篇博文中也提到TOKEN的这样用法,直接使用URL?+TOKEN的方式。全文见:http://www.cnblogs.com/upDOoGIS/archive/2011/10/25/2224197.html

如图



他怎么能用这样的方式访问呢?




0

主题

1万

铜板

0

好友

高级工程师

Rank: 9Rank: 9Rank: 9

积分
732
发表于 2016-11-9 18:05 | 显示全部楼层
如果是本机
用Request IP去取得token应该就可以了
回复 支持 反对

使用道具 举报

4

主题

2047

铜板

1

好友

助理工程师

Rank: 5Rank: 5

积分
127
 楼主| 发表于 2016-11-9 21:05 手机频道 | 显示全部楼层
aleck1119 发表于 2016-11-9 18:05
如果是本机
用Request IP去取得token应该就可以了

谢谢,到实际上我的地图来自浏览器的用户是多个,没法限制到一个IP啊,而且,用户都不可能来自本机。所以,我希望是,无论是谁,只要通过URL?+TOKEN的方式,都能访问到这个地图。我的URL?+TOKEN访问的形式为什么不起作用呢?
回复 支持 反对

使用道具 举报

0

主题

1万

铜板

0

好友

高级工程师

Rank: 9Rank: 9Rank: 9

积分
732
发表于 2016-11-11 15:07 | 显示全部楼层
用浏览器直接输入gisserver连线网址的话
server这端只会知道你的ip,并不会有http referer这个东西
要写成一个网页,像esri的sample那样
如这个网页:https://developers.arcgis.com/javascript/3/samples/map_dynamic/
这时的token就选用referer,以 developers.arcgis.com 去取得token
在js里加入图层的网址用URL?+TOKEN
只要打上述的网址,就会正常显示了
回复 支持 反对

使用道具 举报

0

主题

1万

铜板

0

好友

高级工程师

Rank: 9Rank: 9Rank: 9

积分
732
发表于 2016-11-11 15:08 | 显示全部楼层
用浏览器直接输入gisserver连线网址的话
server这端只会知道你的ip,并不会有http referer这个东西
要写成一个网页,像esri的sample那样
如这个网页:https://developers.arcgis.com/javascript/3/samples/map_dynamic/
这时的token就选用referer,以 developers.arcgis.com 去取得token
在js里加入图层的网址用URL?+TOKEN
只要打上述的网址,就会正常显示了
回复 支持 反对

使用道具 举报

4

主题

2047

铜板

1

好友

助理工程师

Rank: 5Rank: 5

积分
127
 楼主| 发表于 2016-11-16 15:28 | 显示全部楼层
aleck1119 发表于 2016-11-11 15:08
用浏览器直接输入gisserver连线网址的话
server这端只会知道你的ip,并不会有http referer这个东西
要写 ...

多谢指导,问题已经解决啦。
回复 支持 反对

使用道具 举报

1

主题

507

铜板

0

好友

技术员

Rank: 3Rank: 3

积分
18
发表于 2020-7-1 09:18 | 显示全部楼层
你好,我也遇到同样的问题了,请问你是怎么解决的,可以分享下解决方案吗
回复 支持 反对

使用道具 举报

1

主题

507

铜板

0

好友

技术员

Rank: 3Rank: 3

积分
18
发表于 2020-7-1 10:43 | 显示全部楼层
roogo 发表于 2020-7-1 09:18
你好,我也遇到同样的问题了,请问你是怎么解决的,可以分享下解决方案吗

顶顶顶顶
回复 支持 反对

使用道具 举报

1

主题

507

铜板

0

好友

技术员

Rank: 3Rank: 3

积分
18
发表于 2020-7-1 10:43 | 显示全部楼层
roogo 发表于 2020-7-1 09:18
你好,我也遇到同样的问题了,请问你是怎么解决的,可以分享下解决方案吗

顶顶顶顶
回复 支持 反对

使用道具 举报

1

主题

507

铜板

0

好友

技术员

Rank: 3Rank: 3

积分
18
发表于 2020-7-1 10:43 | 显示全部楼层
roogo 发表于 2020-7-1 09:18
你好,我也遇到同样的问题了,请问你是怎么解决的,可以分享下解决方案吗

顶顶顶顶
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
快速回复 返回顶部 返回列表