ArcGIS Server安全机制dotNET版.docx

上传人:b****8 文档编号:11092436 上传时间:2023-02-25 格式:DOCX 页数:21 大小:2.31MB
下载 相关 举报
ArcGIS Server安全机制dotNET版.docx_第1页
第1页 / 共21页
ArcGIS Server安全机制dotNET版.docx_第2页
第2页 / 共21页
ArcGIS Server安全机制dotNET版.docx_第3页
第3页 / 共21页
ArcGIS Server安全机制dotNET版.docx_第4页
第4页 / 共21页
ArcGIS Server安全机制dotNET版.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

ArcGIS Server安全机制dotNET版.docx

《ArcGIS Server安全机制dotNET版.docx》由会员分享,可在线阅读,更多相关《ArcGIS Server安全机制dotNET版.docx(21页珍藏版)》请在冰豆网上搜索。

ArcGIS Server安全机制dotNET版.docx

ArcGISServer安全机制dotNET版

第一篇:

ArcGISServer9.3安全管理机制(dotNET版)

来源:

http:

//bbs.esrichina-

一、概览

1连接ArcGISServer的两种方式

(1)Local:

对于此种连接方式,客户端(如Desktop)直接通过LocalConnection连接到GISServer(SOM&SOC),AGS通过Windows用户组保证安全性,即agsusers和agsadmin组。

添加到agsusers用户组中的成员可以使用GISServer,添加到agsadmin用户组中的成员可以管理agsserver。

9.2和9.3中都采用此种方式来保证GISServer的安全性。

(2)Internet:

对于此种连接方式,客户端(Desktop,Explorer或Web浏览器)通过www方式链接到WebServer(WebServices&WebApplications)。

AGS通过ArcGISServerManager来管理WebServer的安全性。

如图:

2控制资源的访问权限

对于WebApplications,不同的用户对于app的访问权限不同。

比如,分析人员可以访问用于地图分析的webapp,而制图人员可以访问用于地图编辑的webapp;对于WebServices,不同的用户对于各种services的访问权限也不同。

比如,所有用户都可以使用一台GISServer上的用于地图浏览的service,而只有分析人员能够使用具有地图分析功能的service,制图人员则可以访问用于地图编辑的service。

如图:

3AGS通过三个步骤来实现自己的安全机制。

Users&Roles

用户&角色。

将不同需求的用户赋予不同的角色(将用户分组),同一个Role的用户拥有相同的权限。

Authentication

识别。

通过用户名和密码来识别用户身份。

Authorization

授权。

根据识别出来的用户身份赋予其相应的权限。

4存储Users&Roles的途径:

Windows,SQLServer,自定义途径。

(1)Windows:

如采取此种方式,则相同roles的用户分到同一用户组中。

Authenticate(用户身份识别)由IIS来完成。

一般对局域网用户采取此种方式,因为本机上可能已经存储了网内的账户信息。

通过计算机管理,本地用户和组来操作。

如图:

首先禁用匿名账户访问,然后根据需求使用下面不同的选项。

(2)SQLServer:

将用户和角色信息存储在SQLServer数据库中(一般是SQLServer2005Express,因为VS开发环境附带此数据库;Server的安装盘上也有)。

通过ArcGISServerManager来操作。

Authentication的工作由ASP.NET完成。

具体操作:

进入manager,左侧security,configurelocationsuseSQLServer。

如图:

之后具体操作可根据屏幕提示完成。

(3)自定义途径:

如OracleProvider或XMLProvider。

Authentication的工作由ASP.NET完成。

如果自定义的方式提供了相应api,则可以在agsmanager中进行操作,否则使用与之配套的工具进行操作。

获得了customprovider后,通过修改ags的安全配置文件,在manager中增加操作选项。

具体请参见帮助。

略。

至此,完成了对用户身份鉴别的准备工作。

为方便后面描述,我们在manager中,security,roles中创建browser,analyst,editor三个角色,在security,users中创建一个user1用户(用户密码至少由7个字符组成,并且须包含字母数字意外的字符,如_,#,$,%等),将此用户添加到browser角色中。

如图:

 

二、WebApplicaitons的安全管理

1定义用户与角色。

(见上一节内容)

2设置webapp权限。

权限存储在app本身中,通过web.config来赋予不同角色不同的访问权限。

如图:

此图中,浏览器发出请求,根据user存储位置的不同,来判断是由IIS还是ASP.NET来完成识别用户身份和角色的工作;然后由ASP.NET根据用户身份赋予其一定权限来访问webapp。

需要注意的是,根据前面的设置,如果是由IIS完成Authentication,则需要禁用IIS中的匿名用户访问;如果是由ASP.NET完成Authentication,则可以继续启用IIS的匿名用户访问。

接下来的操作:

manager中,application,点击需要进行安全管理的应用程序后面的小锁,在弹出的对话框中添加允许访问此应用程序的角色(用户组),则该角色中的所有用户可以通过登陆来访问此应用程序。

未添加的角色中的用户或其他用户不能访问此程序。

在前面添加的user1可以通过登陆访问此程序(设置了应用程序权限后,登陆页面由ags自动生成),其他用户则不能访问。

这样就实现了对WebApplicaitons的安全管理。

对webapp进行安全管理后的登陆界面:

此外,可以在manager中相应的Applicaiton高级选项中:

选择https(默认是http)来启用SSL加密web通信,从而有效保护通信不被泄漏。

这需要在IIS的设置中,选择DigestAuthentication一项。

如图:

这样就完成了对WebApplicaitons的安全管理工作。

三、对WebServices的安全管理

我们也可以对GISServer上发布的Services进行安全管理。

不同于对WebApp的安全管理,如果一个service启用了安全机制,那么安全验证由使用这个service的webapp来提供,这是自动完成的,而每一个使用此webapp的用户则不需要注意到这些细节(而对webapp进行管理之后,每个使用此webapp的用户都得通过登陆来通过安全验证以使用此webapp);如果是通过客户端比如Desktop来使用一个启用了安全机制的service,则需要在catalog中进行验证后使用,如图:

(addgisserver,useservices,填写用户名和密码。

是在manager中创建的用户和相应的密码)。

与前面相同,访问启用了安全管理的services首先要完成对用户身份的Authentication,根据users&roles存储位置的不同来决定是由IIS还是ASP.NET来完成此项工作;在Authentication之后,由SOM根据用户身份来赋予用户对service的访问权限。

如图:

首先需要说明一下GISServer中services的组织方式。

9.3中可以通过文件夹来组织发布的services,即将services发布到不同的文件夹中(不论是在manager或catalog中发布service的时候都有相应的选项)。

如图:

在上图中,根文件夹中有一个service(左下角的),每一个客户端都可以使用这个service;在根文件夹中创建了一个internal文件夹,里边有两个services。

而对internal这个文件夹赋予相应的role:

anylists,则只有anlysts角色的用户才能使用这个文件夹底下的services。

对右下角这个service(在internal文件夹中)赋予editor角色,则只有editor角色的用户才能访问这个服务,即使是analysts角色也不能访问。

可以看出,可以在文件夹和各服务两个级别对service进行安全管理,而每个service的设置会覆盖父文件夹的设置。

那么如何对services进行安全管理呢?

也是通过manager来完成。

首先需要在manager,security,settings中启用对services的安全管理,如图:

启用后:

注意:

一旦启用了对services的安全管理,则无法在manager中关闭这个功能(至于在什么地方来关闭它,我想……这和没有钥匙却要开保险柜是一个道理)。

因为设计中考虑,既然开启了对services的安全管理,则不允许任意一个可以访问manager的人来轻易禁用已经设计好或者已经在使用的安全管理了。

具体操作,可以在manager,services,managefolder,permissions中来添加对一个文件夹的角色管理,

也可通过每个service后面的小锁来针对单独的serivce进行角色管理。

至此,就实现了ArcGISServer9.3中的安全管理机制。

 

第二篇:

ArcGISServer9.3中权限管理(dotNet版)

来源:

http:

//bbs.esrichina-

要保障ArcGISServer的安全实际上要做两方面的工作:

Secruinglocalconnections(本地连接安全)和SecuringInternetconnectionsandwebApplications(英特尔连接和Web应用的安全)。

关于本地连接的安全控制这里不多说了,ArcGISServer的PostInstaller会自动创建agsuser和agsadmin两个组。

如果是Server的User的话,必须添加到agsuser组里,如果是Server的administrator的话,必须得加入到agsadmin组里。

其实,这部分的工作默认按照PostInstaller的步骤就可以完成。

所以这里关键是讨论后一部分的内容,如何利用ArcGISServer93的Manager来保障WebApplication和WebServices的安全,即用户和权限控制。

ArcGISServer安全机制如图:

登录到ArcGISServerManager,相较于9.2,会发现左侧的目录树多添加了一栏:

Security,如图:

展开Security,有三项,分别是Users,Roles和Settings。

在使用ServerManager所自带的权限管理之前,首先必须切换到Setting,对Location进行设置。

Location你可以指定放到SQLServer、Windows本地或者其它自定义的方式(包括其它的数据库和XML等)。

自定义的方式在这里就不说了,有兴趣的话,可以参照:

ServerExpress以及使用本地用户和组。

当然,在我们开始之前,有一些准备工作是需要做的。

(1)安装好ArcGISServer,包括Manager,WebServices以及TokenServices。

(2)安装SSL证书,使你的WebServer可以通过Https的方式来进行访问。

如果你操作系统是WindowsServer2003和windowsXP,你必须下载IIS6.0ResourceKit来安装数字证书,但这个证书是只供测试用。

1)  下载IIS6.0ResourceKit,并安装

2)  打开Start>Programs>IISResource>SelfSSL>SelfSSL,打开SelfSSL,在SelfSSL的命令行中敲入:

SelfSSL/V:

365/N:

CN=/T

3)  敲入exit

打开IIS,选择默认网站,点击选属性,选择目录安全性,你会发现此时查看证书一栏可以用了。

这样就说明SSL证书已经安装好了。

如图:

(3)如果你选用在SQLServerExpress中存储用户和角色,你还必须安装SQLServerExpress。

ArcGIS安装光盘中就带着。

直接安装即可。

首先,我们讨论将用户跟角色存储在SQLServerExpress中的情况

(1)Manager>Security>Setting>configue,将用户和角色存储到SQLServerExpress中。

如图:

首先出现的是选择用户的存储位置,我们选择SQLServer。

点击Connect,测试与SQLServerExpress的连接,这时要确保你的机器上安装了SQLServerExpress,并且SQLServerExpress的服务是启动的,如图:

将UsedTrustedConnection和AddEveryone,AnonymousandAuthenticatedUsersrolestodatabase勾起来。

在Createanewdatabase中输入新建的数据库的名字,当然也可以放到已经存在的数据库里。

选择Next,出现是否允许用户通过E-mail来重设密码,这里不选,如图:

点击完成,完成对Security存储位置的设置。

(2)Manager>Security>Users,我们要在这里为ArcGISServer添加一个权限用户。

选择AddUser,弹出添加用户的界面,填写相关的信息。

这里需要注意的是用户的密码,必须设七位以上,而且至少有一位是非字符的,如@,#,$,or%等。

如图:

(3)Manager>Secrurity>Roles,这里我们要为ArcGISServer添加一个角色,选择AddRole,弹出添加角色的界面,将步骤二所新建的用户添加到角色中去。

如图:

这样我们就能用所创建的用户和角色对WebApplication和WebServices进行权限管理了。

(4)WebApplication进行权限管理,Manager>WebApplication,选择某一个WebApplication中对应的权限设置的对话框,将Enablesecurityforthiswebapplication勾起来,将需要赋权限的值从左边选到右边的AllowedRoles中去,点击Save,如图:

这里打开刚刚设置的WebApplication,例如:

http:

//grace/securityapp2/,会出现登录对话框,如图:

(5)WebServices的权限管理。

Manager>Security>Settings。

首先要将SecurityforWebServicesEnable。

当你点击Enable按钮的时候,他会激活之后无法在页面上disable,没有关系,继续,我们在稍后会讲到如何disablesecurityforwebservices。

设置好了,Manager>Security>WebServices,用对WebApplication加密类似的方法对WebServices进行加密。

因为Manager页面上没有提供disablesecurityforwebservices的方法,这里介绍一下。

很简单,只要到ArcGIS的安装目录下,例如C:

\ProgramFiles\ArcGIS\server\system,打开server.dat文件,将true中的true改为false即可。

OK,关于用SQLServerExpress中存储用户和角色对ArcGISServer进行权限管理就讲到这里。

下面简单讲一下利用windows用户和组对ArcGISServer进行权限管理。

步骤跟上面也差不多,所以会论述得相对简单一些。

打用windows用户和组管理,新建一个组,testgp,然后新建一个用户test,并将其加入到testgp组中。

打开ArcGIS serverManager,切换到Security>Setting,将User和Role的Location选成Windowsusersandgroups。

然后用跟上面一样的方法对WebApplication和Services进行加密。

所不同的是,在对WebApplciation进行加密的时候,需要在IIS中将匿名访问去掉即可,但至少选择一种验证方式,我们这里采用的是集成windows身份验证,如图:

打开Manager>Application,跟SQLServer存储的操作是一样的,点击Save。

此时,再点击Manager>Application中的链接,就会弹出认证的对话框,输入正确的用户名和密码即可。

对WebServices的加密的操作也一样的

在确保输入的用户名跟密码正确的情况下,如果在认证对话框中一直输入用户跟密码通不过,那么原因是在你的windows的权限设置上,请检查以下几个方面。

(1)guest帐户是否启动,是否设置密码。

(2)gpedit.msc修改组策略:

是否在禁止从网络访问计算机中将guest用户删除。

(3)gpedit.msc安全策略:

是否默认XP系统是本地用户以来宾方式通过验证改为XP经典的以本地用户方式。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1