【解决办法】iPortal对地图服务做基于空间范围的权限控制,给予不同用户不同的空间范围权限,前端调用iPortal代理后服务地址,通过不同用户申请的key进行调用即可沿用空间范围权限限制。具体操作步骤如下: 1.注册China示例服务,并设置共享权限,给予test用户仅河南省查看权限。 2.在iPortal申请test用户的key,申请页面:http://localhost:8190/iportal/web-ui/my-account/keys。 3.前端调用iPortal代理后的服务,通过SuperMap.SecurityManager.registerKey注册key, 示例代码: var map, url = 'http://localhost:8195/portalproxy/j0p4xv9t/iserver/services/map-China100/rest/maps/China'; var key ="DM5XykXdO0KudXloRaOTmcYP"; SuperMap.SecurityManager.registerKey(url,key); map = L.map('map', { crs:L.CRS.EPSG4326, center: [ 30.99,100.96 ], maxZoom: 18, zoom:4 }); new L.supermap.TiledMapLayer(url).addTo(map); 调用展示结果如图:
