做了一段时间的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 IsVal