首页 / 浏览问题 / WebGIS / 问题详情
使用openlayers怎么添加token
4EXP 2023年12月26日

使用产品 supermap i10(2020)  操作系统 win11 x64

问题描述:使用openlayers的超图服务 怎么给请求的服务都加上token信息   地图服务端已经配置了,现在请求地图服务是401了,网上找到了很多种写法

ol.supermap.SecurityManager.registerToken(LAYER_URL, token)
new ol.supermap.SecurityManager.registerToken(LAYER_URL, token)
new SuperMap.SecurityManager.registerToken(.LAYER_URL, token)
SuperMap.Credential.CREDENTIAL = new SuperMap.Credential(token, "token");

这些写法我都试了写到我请求的前面  确实不报401了,但是写上这几行其一,之后的请求服务的代码就不走了,控制台也没有报错,网上没找到openlayers使用token的案例,不知道写的有没有问题,问题在哪

1个回答

你好,两种方式添加token:

1、在调用服务前添加: ol.supermap.SecurityManager.registerToken(mapUrl, token);

https://iclient.supermap.io/examples/openlayers/editor.html#iServerSecurity

2、调用服务地址url+?token=你的token。

iserver服务添加token详解:http://support.supermap.com.cn/DataWarehouse/WebDocHelp/iServer/index.htm

1,865EXP 2023年12月26日

为什么我使用官网的案例  token授权访问私有服务  的访问也是失败的

看一下本地localhost:8090是否有相同的服务。如果没有,可以自行启动一个iserver并发布服务,再调用接口。

建议不要直接在官网直接调用本地服务,可能会出现跨域。
...