asp.net webservice 安全 验证

来源:互联网 发布:华东理工网络教育官网 编辑:程序博客网 时间:2024/06/15 21:39
 

做了一段时间的webservice,跨平台,标准化,等优点就不多说了,可是缺点也有很多。

特别是安全问题上,只要是知道webservice地址通过asp.net 的web服务就能访问,而且方法都是显性的,这样觉的很不安全。

今天,我们来实现在WebService中加入安全验证机制,这样就有了一级的验证了。

 

举个例子:

建立一个webservice

public class WebService : System.Web.Services.WebService {    public KEY key=new KEY();    public WebService () {        //如果使用设计的组件,请取消注释以下行         //InitializeComponent();    }    [WebMethod]    [SoapHeader("key")]    public string HelloWorld() {        if (key.IsValid())            return "Hello World";        else            return "";    }}


建立一个操作类KEY,继承SoapHeader

public class KEY : SoapHeader{public KEY(){////TODO: 在此处添加构造函数逻辑//}    //安全密钥       public string Key { get; set; }     public bool IsValid()     {         return IsValid(Key);     }     public bool IsValid(string key)     {         try         {             string keyconfig = "123";             if (key == keyconfig)             {                 return true;             }             else             {                 return false;             }         }         catch         {             return false;         }     }}


调用:

WebService.WebService webs = new WebService.WebService();WebService.KEY key = new WebService.KEY();key.Key = "123";webs.GNET_KEYValue = key;show.InnerHtml = webs.HelloWorld();


如果key不对,返回空,否则返回helloworld。

原创粉丝点击