最近新接了一个需要调用第三方WebService的项目,看到这个第三方WebService被调用的时候,需要授权用户名和密码,于是自己也想对WebService的安全授权这个方面进行了一下研究,以前调用的WebService大部分都是局域网内部调用,几乎没有什么权限需要增加的,今天借此机会,深入研究了一下,发现实现起来还是挺容易的。
基本原理就是利用SoapHeader 类,继承该类,然后在我们公布的方法上加上对应的标签,呵呵。现在做一个Demo程序,进行验证。我们首先衍生一个自己的子类,暂命名为SecurityHeader ,在该类中需要增加一个公共属性,详看如下代码
";
PandaRGIntegration.IntegrationSoapClient client = new PandaRG.Listrak.PandaRGIntegration.IntegrationSoapClient();
System.Console.WriteLine(client.HelloWorld(header,"Vincent"));
System.Console.WriteLine(client.HelloPanda("Vincent"));
System.Console.Read();
}
}