高分讨论关于中间层WebService的安全访问问题

HaiHe 2005-02-28 08:39:55

我是安照msdn的例子学习的,请参考:
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/vsintro7/html/vbwlkCreatingDistributedWebApplicationWalkthrough.htm

但是我不知道如何保护我的中间层的方法等不被未授权的人员调用,无论是内网,还是外网的用户,都需要授权。如何的语句也不能理解,请大家踊跃讨论,谢谢!

ws.Credentials = System.Net.CredentialCache.DefaultCredentials;
...全文
148 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
机器人 2005-02-28
  • 打赏
  • 举报
回复
安全
Webservice为作为方便的服务被用广大领域使用的同时,也成为了黑客们的美食。在这里,本文将就目前对Webservice安全所能做的改进做简单介绍。
在Webservice中的安全主要分为以下三个方面。
传输 SSL/HTTPS 对连接加密,而不是传输数据
消息 数据加密(XML Encryption) 数字签名(XML-DSIG)
底层架构 利用应用服务安全机制

传输时的安全是最容易被加入到你的Webservice应用中的,利用现有的SSL 和HTTPS协议,就可以很容易的获得连接过程中的安全。

然而这种安全实现方法有两个弱点。一是它只能保证数据传输的安全,而不是数据本身的安全,数据一旦到达某地,那么就可以被任何人所查看。而在Webservice中,一份数据可能到达多个地方,而这份数据却不该被所有的接受者所查看。二是它提供的是要么全有要么全无的保护,你不能选择哪部分数据要被保护,而这种可选择性也是在Webservice中所常要用到的。

第二层的保护是对于消息本身的保护。你可以使用已有的XML安全扩展标准,实现数字签名的功能,从而保证你的消息是来自特定方并没有被修改过。XML文件的加密技术从更大程度上加强了Webservice的安全,它能够定制数据传输到后,能否被接受者所查看,进一步完善了传输后的安全,业界也在不断的制定Webservice的安全标准,比如SAML 和 WS-Security。

最后一层保护就是依靠底层架构的安全,这更多的来自于操作系统和某些中间件的保护。比如在J2EE中,主持Webservice的应用服务器。目前很多的J2EE应用服务器都支持Java Authentication and Authorization Service (JAAS),这是最近被加入到J2SE 1.4当中的。利用主持Webservice的服务器,实现一些安全机制这是很自然的做法。另一种利用底层架构的安全方法就是,做一个独立的负责安全的服务器,Webservice的使用者和创建者都需要与之取得安全信任。
bflovesnow 2005-02-28
  • 打赏
  • 举报
回复
我见过一个方法,就是在每个 [WebMethod] 里加个类似密码的参数
如果这个参数不对,则无法使用该 WebMethod
可能比较笨。。。
web_gus 2005-02-28
  • 打赏
  • 举报
回复
up
FJGoodGood 2005-02-28
  • 打赏
  • 举报
回复
给 WebMethod 启用Session支持,在能够使用 WebService 之前,用户必须登录 WebService,例如在WebService 上开放一个方法: LoginWebService(userName, password),登录成功后,在 Session 里作个标志,每个 WebMethod 都判断一下这个标志,如果没有,就不让程序往下走,抛出异常!
henryfan1 2005-02-28
  • 打赏
  • 举报
回复
通过定义SOAP头来控现权限控制相对来说应该简单一些。
具体可以看MSDN的自定义SOAP消息。
lengfeng8866 2005-02-28
  • 打赏
  • 举报
回复
楼上的又收藏,我也是
我不懂电脑 2005-02-28
  • 打赏
  • 举报
回复
非法用户可通过设置用户名/密码验证的方式解决。
zr1982930 2005-02-28
  • 打赏
  • 举报
回复
学习,关注中!
LoveCherry 2005-02-28
  • 打赏
  • 举报
回复
mark

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧