Token,意为令牌,是由服务端生成的字符串。
如何提高服务的安全性,只让部分用户访问?本文主要介绍如何使用 SuperMap iServer 给服务加密以及SuperMap iClient3D for WebGL/WebGPU 和 SuperMap iServer 配合使用token访问加密服务的方法和详细流程,主要包含以下步骤:
其中涉及的产品有:SuperMap iDesktopX,SuperMap iServer ,SuperMap iClient3D for WebGL/WebGPU。
在 SuperMap iDesktopX 中将模型数据集生成S3M瓦片,并在SuperMap iServer上发布服务。 详细操作,请参考 SuperMap iDesktopX 帮助文档发布文件型工作空间。
(1)使用 SuperMap iServer 发布三维服务后,从服务管理页面进入,找到该服务,点击安全, 再点击服务右边的小锁图标。
(2)点击图标后出现弹窗,默认选中匿名用户可访问,点击指定用户可访问,出现需要添加角色, 点击确定,便为服务设置了权限。
此步骤将获取已设置访问权限的服务的token。
(1)在服务管理页面的右上角,点击该页面上方的用户名,选择详细信息;
(2)在页面右上角单击用户名,选择令牌;
(3)然后根据需要选择SuperMap iClient3D for WebGL/WebGPU标识类型和有效期,单击生成令牌按钮,即可获取token
此部分可以参考SuperMap iServer帮助文档获取 Token。
通过 SuperMap iServer 获取的token加密服务后,如果 SuperMap iClient3D for WebGL/WebGPU 直接调用,则场景不能正常加载并且浏览器端会报错401。
在SuperMap iClient3D for WebGL/WebGPU 的中加载通过从iServer获取的token,场景就能正常浏览,代码如下:
SuperMap3D.Credential.CREDENTIAL = new SuperMap3D.Credential("1jo0hr6AoBIqrgY6UZk_-3nRlD-ZDF6vIK_RS6dkb6bXvdkfW3EIZ7YJgkY1DUpxPs7GXoC6yUnlAYqwjKUQ7omaCrmd8Frzsrwrs8Ye9Yk.");
如有疑问请参考相关范例:安全认证。