webservice安全验证


大致可分为下面几种:


(1)身份验证和属性控制,可以集成Windows验证、域服务器验证、.Net Passport验证。
(2)IP域名限制,只允许特定的ip或者域内机器访问,对非法的请求进行过滤,
(3)安全通信设置,用户可以启用Web服务器证书,采用SSL对网络传递的信息进行加密,来保证Web Service的安全。


Windows验证、域服务器验证、IP域名限制 归为一类,对访问者进行限定,通常用在内网应用中。
.Net Passport验证 如果不和 SSL 一起用,只相当于验证码的安全级。
SSL 就是 Https。


安全等级从底到高为 1324
1)仅与用户相关,每次登录的信息都是一样的,被截获后可以直接利用。
3)由于增加了与会话相关的随机数(验证码),增加了一定难度,但是明文数据还是可以解析的。
2)通过加密基本防止了直接伪造数据包的可能。
4)以上3种都不能防止密码被窃取的情况,但是用加密狗验证就多了一道保险,毕竟窃取硬件要难得多。

以上方法按照需要组合起来用的。




例子一:

使用SoapHeader传递和验证用户 
 Web Service端的代码: 
 1.1先创建一个继承自System.Web.Services.Protocols.SoapHeader 
    CredentialSoapHeader类: 
   public class CredentialSoapHeader : SoapHeader 
   { 
 private string _userName ; 
 private string _userPassword ; 

 public string UserName 
 { 
  get { return _userName ; } 
  set { _userName = value ; } 
 } 

 public string UserPassword 
 { 
  get { return _userPassword ; } 
  set { _userPassword = value ; } 
 } 
   } 


通过SOAP Header身份验证
验证票
using System.Web.Security ; 
[WebMethod()] 
public string GetAuthorizationTicket(string userName , string password) 

     FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(userName, false, timeOut) ; 
     string encryptedTicket = FormsAuthentication.Encrypt(ticket) ; 
     Context.Cache.Insert(encryptedTicket, userName, null, DateTime.Now.AddMinutes(timeout), TimeSpan.Zero) ; 
     return encryptedTicket ; 




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值