我们在做web服务的时候,一旦发布所有的人都可以访问。如果涉及数据更新的web服务就有问题了。
别人只要知道我的web服务地址,就可以调用我的方法了。
第一种方法:
方法是在iis设置取消匿名访问。
访问web服务的代码增加认证
代码如下:
代码
try
{
NetworkCredential myCred = new NetworkCredential("abc", "abc", "localhost");
secure.SecurityAccess access = new TecDa.secure.SecurityAccess();
access.Credentials = myCred;
Response.Write(access.HelloWorld());
}
catch (Exception ex)
{
Response.Write("fail");
}
{
NetworkCredential myCred = new NetworkCredential("abc", "abc", "localhost");
secure.SecurityAccess access = new TecDa.secure.SecurityAccess();
access.Credentials = myCred;
Response.Write(access.HelloWorld());
}
catch (Exception ex)
{
Response.Write("fail");
}
用户名和密码为操作系统用户这样就可以达到目的了。
第二种方法 以允许特定的IP调用
这个使用IIS配置可以访问web服务的IP就可以了。
第三种方法:
使用SOAPHEADER的方式处理