当前位置 : 主页 > 网页制作 > Nodejs >

webservice安全验证

来源:互联网 收集:自由互联 发布时间:2021-06-24
大致可分为下面几种: (1)身份验证和属性控制,可以集成Windows验证、域服务器验证、.NetPassport验证。 (2)IP域名限制,只允许特定的ip或者域内机器访问,对非法的请求进行过滤,


大致可分为下面几种:


(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 ; 

网友评论