利用SoapHeader发送认证信息
使用SoapHeader传递和验证用户 
1.Web Service端的代码: 
先创建一个继承自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 ; } 
      }
  
      public CredentialSoapHeader()
      {
           this.userName     = "admin";
           this.userPassword = "admin";
      }
 }
2.创建对外的发布的WebService方法
public class MyService : System.Web.Services.WebService
 {
      public CredentialSoapHeader Credentails = 
            new CredentialSoapHeader();
      [WebMethod(Description="Welcom Test")]
      [SoapHeader("Credentails")]
      public string Welcome(string userName, string password) 
      { 
           if ((this.Credentails.UserName == userName) &&
                (this.Credentails.UserPassword == password))
               return "Welcom " + this.Credentails.UserName;
           else
               return "Lawless User";
      } 
 }
3.创建客户段Clinet, 方法Login调用WebService
public class ClientForm : System.Windows.Forms.Form
 {
      private myService.MyService s = 
          new Sunways.myService.MyService();
        private void Login(string userName, string password)
          {
               string msg = s.Welcome(userName, password);
               MessageBox.Show(msg);
          }
  ......
  }
 
                    
                 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号