zoukankan      html  css  js  c++  java
  • ArcGIS Server 地图服务访问权限设置及ArcGIS Server token获取

    本文转自 :https://blog.csdn.net/weixin_44011559/article/details/109463883 请支持原创!

    一、地图服务访问权限设置。

    当我们发布arcgis地图服务后,由于涉密或者其他原因,不想让所有人看到地图服务。这时候我们可以对地图设置权限。怎末设置那?
    进入你们arcgis管理。地址:
    http://localhost:6080/arcgis/manager/index.html#
    pic_6fad27cb.png
    新建角色。
    pic_d635cd35.png

    新建用户。
    pic_104817f0.png
    新建成功。
    pic_4b52af78.png
    角色与用户之间关系:角色是指一组按功能、标题或某些其他属性关联在一起的用户。

    回到服务
    点击某一个服务,“锁”。
    pic_ebe8e640.png

    在可见角色里面搜索刚刚新建的角色名字。不搜索,那个用户添加按钮不出来。添加角色abc。
    然后选择保存。
    pic_134ec3cc.png
    权限编辑完成。

    当你进入站点
    http://localhost:6080/arcgis/rest/services
    发现刚刚设置权限的那个地图地图服务SampleWorldCities不见了。说明设置成功了。
    pic_911fa79b.png
    当你进入SampleWorldCities服务,发现需要登陆。
    http://localhost:6080/arcgis/rest/services/SampleWorldCities/MapServer
    pic_eb549369.png
    你输入刚刚创建的用户名abc及密码,就可以进入服务了。
    pic_99d0eba4.png
    登陆进来。
    pic_7deb6749.png

    二、arcgis server 登陆token值的获取。(手动实现)

    http://localhost:6080/arcgis/rest/services/SampleWorldCities/MapServer
    pic_d9b632db.png

    点击右上角Get Token
    pic_771a24ce.png
    可以看到 有三种获取方式。
    pic_c2585952.png
    打开Help文档。(页面上的Help超链接)
    pic_31b750f7.png
    翻译一下:
    pic_e20aefce.png

    HTTP Referer方式:需要输入访问地图服务页面的URL。
    pic_a35c25e4.png
    得到:
    pic_d8003710.png

    IP方式:需要输入访问服务的主机ip地址(任意访问地图服务主机的ip地址,可以不是自己主机的ip)。
    pic_80c1d824.png
    得到:
    pic_4c9356df.png
    Request IP方式(默认的):
    pic_5c0b573c.png
    得到:
    pic_f2132244.png

    三、arcgis server 登陆token值的获取。(代码实现,c#实现)

    实现代码:

    public string GetTokenTest()
            {
                string option = "HTTP Referer";
                string tokenservice = null;
                switch (option)
                {
                    case "HTTP Referer":
                        tokenservice = "http://localhost:6080/arcgis/tokens?request=getToken&username=abc&password=aaaa&http referer=http://192.168.1.166&expiration=60";
                        break;
                    case "IP":
                        tokenservice = "http://localhost:6080/arcgis/tokens?request=getToken&username=abc&password=aaaa&ip=192.168.1.166&expiration=60";
                        break;
                    case "Request lP":
                        tokenservice = "http://localhost:6080/arcgis/tokens?request=getToken&username=abc&password=aaaa&expiration=60";
                        break;
                }
                WebRequest request = WebRequest.Create(tokenservice);
                WebResponse respost = request.GetResponse();
                Stream resposeStream = respost.GetResponseStream();
                StreamReader readStream = new StreamReader(resposeStream);
                string tokenstr = readStream.ReadToEnd();
                //ResultMsg m = new ResultMsg();
                //return new JavaScriptSerializer().Serialize(m);
                return tokenstr;
            }
    

    运行结果:
    HTTP Referer方式,代码获取的token值。
    pic_d3a9ee55.png
    token值:
    dgC4wjgpi8ZWEzIBdi4ZYeeMlqhZDZa5ZaxFh6uK48g.

    四、通过token访问地图服务

    怎末通过token访问设置访问权限的地图?(不登陆)
    方法:
    http://localhost:6080/arcgis/rest/services/服务名/MapServer?token=token值

    通过上面代码获取的token值,
    http://localhost:6080/arcgis/rest/services/SampleWorldCities/MapServer?token=dgC4wjgpi8ZWEzIBdi4ZYeeMlqhZDZa5ZaxFh6uK48g.

    pic_00de9a09.png

  • 相关阅读:
    static关键字(C语言)
    PartitionerTest
    PipelineTest
    ReadDataFromCheckpoint
    Demo1
    CacheTest
    CheckPointTest
    BroadCast
    AccumulatorOperator
    Operator_takeAndFirst
  • 原文地址:https://www.cnblogs.com/hustshu/p/14979964.html
Copyright © 2011-2022 走看看