【2012Esri中国用户大会讲座】ArcGIS 10.1 for Server 安全机制(2)使用Token
来源:互联网 发布:c语言三种基本结构 编辑:程序博客网 时间:2024/05/21 17:18
1 关于Token
在本系列第一篇博客中已经介绍了用户、角色、权限,在访问这些经过权限设置的服务时,会有用户认证和权限验证两个主要的步骤:
用户认证:判断用户输入的用户名是否存在,密码是否正确;
权限验证:判断该用户是否对请求的资源具有访问权限。
认证的方式有两种:基于ArcGIS Token的认证和Web服务器认证,本文将介绍最常用的第一种认证方式。
简单说,Token就是一串包含了用户信息的加密字符串,用于在网络上安全传输用户信息。2 申请Token
使用Token前首先需要申请Token,可以通过http://myserver:6080/arcgis/admin/generateToken或http://myserver:6080/arcgis/tokens申请。申请页面如下图所示:需要填写的内容如下:
1) Username:用户名,例如我在上一篇博客里创建的chengdu;
2) Password:用户密码;
3) Client:使用token的客户端,提供三种类型:HTTP Referer、IP、IP Requested,区别如下:
l HTTP Referer:Web应用的URL,申请的token可由该应用的页面使用;
l IP:申请的token只能供指定IP的机器使用;
l IP Requested:只能由申请token的机器使用该token;
4) HTTP referer:如果Client选择了HTTP referer,这里就需要输入应用地址;
5) IP:如果Client选择了IP,这里就需要输入IP地址;
6) Expiration:过期时间,单位为分钟。超过这里设置的时间,token将失效。
设置好后,点击Generate按钮,得到生成的token字符串,如下图:3 使用Token
将上一步骤生成的token复制到代码中,如下:ArcGISDynamicMapServiceLayer dynLayer = new ArcGISDynamicMapServiceLayer(); dynLayer.Url = "http://esri-huangd/arcgis/rest/services/sw/sw_provinces/MapServer"; dynLayer.Token = "wE0oaYBQiQkXWArrP6Pw3Y3dNw_WEP3rDEsMJTd9C-3StWDwtqrKYaRQc75FWbdc7ZasJpfS3klSdU38qYXVxw.."; dynLayer.InitializationFailed += new EventHandler<EventArgs>(Layer_InitializationFailed); map.Layers.Add(dynLayer);
访问效果如下图:
如果将为token赋值的代码注释掉,再访问,得到如下提示:
如果随意篡改token字符串,再访问,得到如下提示:
如果以其他未授权的用户(beijing)申请token,然后再访问,得到如下提示:
以上就是通过token访问ArcGIS服务资源的案例,通过这种方式,可以确保程序在授权的情况下才能访问GIS服务资源,从而保护服务资源的安全。
在实际应用中,需要更新共享密钥(Shared Key,一个16位的随机字符串,用于生成加密的token),因此token也有更新的必要,另外token过期之后,也需要重新申请更新。如果将token硬编码在程序代码中,则需要在token更新之后更新代码并重新编译程序,故建议在程序中动态申请token,以保证程序中使用最新的token。- 【2012Esri中国用户大会讲座】ArcGIS 10.1 for Server 安全机制(2)使用Token
- 【2012Esri中国用户大会讲座】ArcGIS 10.1 for Server 安全机制(5)数据库集成安全
- 【2012Esri中国用户大会讲座】ArcGIS 10.1 for Server 安全机制(1)用户角色权限
- 【2012Esri中国用户大会讲座】ArcGIS 10.1 for Server 安全机制(3)跨域访问限制
- 【2012Esri中国用户大会讲座】ArcGIS 10.1 for Server 安全机制(4)访问内容限制
- ArcGIS 10.1 for Server 安全机制(2)使用Token
- ArcGIS for Desktop的亮点展示(来自2012 Esri中国用户大会)
- 2013Esri全球用户大会Q&A之ArcGIS for Server&Portal for ArcGIS
- 2014Esri全球用户大会之ArcGIS for Server&Portal for ArcGIS
- 2014Esri中国用户大会:ArcGIS平台六大亮点能力
- 2012ESRI中国用户大会有感
- 2014Esri全球用户大会之ArcGIS for Desktop
- 2008ESRI用户大会问答之ArcGIS Server部分
- ArcGIS Server for Java Token 安全配置
- 2012ESRI用户大会
- 【2013Esri中国用户大会】商业智能位置分析之Esri Maps for Cognos
- 2014Esri全球用户大会之ArcGIS
- 2012Esri中国用户大会-深入解析Geodatabase
- 转载:C语言内存分配:malloc、calloc、realloc
- MSP430 Operating Mode
- Qt中动态链接库的使用
- Android4.0.4休眠唤醒机制分析(基于MSM8260)
- java中关于static的一个小问题
- 【2012Esri中国用户大会讲座】ArcGIS 10.1 for Server 安全机制(2)使用Token
- backbone源码分析
- wince中断之2
- jxl操作excel(合并单元格,设置背景色,字体颜色)
- 每天一算法(把二元查找树转变成排序的双向链表 )
- S3C2440 启动代码分析
- c/c++:内存泄露和野指针的概念
- MSP430(G2553)用看门狗定时器来产生周期信号
- C 风格字符串,C++string类,MFC,CString类的区别。
原创粉丝点击
热门IT博客
热门问题
老师的惩罚
人脸识别
我在镇武司摸鱼那些年
重生之率土为王
我在大康的咸鱼生活
盘龙之生命进化
天生仙种
凡人之先天五行
春回大明朝
姑娘不必设防,我是瞎子
椰汁糕的材料
椰汁糕的制作方法
椰汁糕 君之
椰汁糕图片
木瓜椰汁糕的做法
椰汁雪花糕的做法
椰汁红豆糕做法
椰汁红豆糕热量
糕的
鱼胶粉做椰汁红豆糕
椰汁西米露糕的做法
满记甜品椰汁紫米软糕
椰子糕牌子
椰子糕的价格
怎么做椰子糕
自制椰子糕
红豆沙糕
百香果糕
春光 椰子糕
椰子糕的制作方法
椰子糕图片
椰子糕好吃吗
椰子糕的简单做法
品香园椰子糕
春光牌椰子糕
如何制作椰子糕
椰汁的热量
饺子汁
椰浆粉
糯米面油炸糕的做法
糯米面油炸糕怎么和面
瘦肉炖海底椰汤
海底椰炖雪梨
椰汁炖燕窝做法
海底椰炖鳄鱼
椰蓉面包卷
黄金椰蓉球的做法
豆渣饼干
焦糖巧克力
ritz饼干
奇趣饼干