C# ASMX SoapHeader驗證

  • 1418
  • 0

ASMX SoapHeader驗證

讓asmx參考內建帳密驗證

使用 webservice參考,用SoapHeader可以驗證帳號密碼Service安全性

建立SoapHeader Class

public class SoapHeader : SoapHeader
{
    public string userName = string.Empty;
    public string passWord = string.Empty;

    public SoapHeader() { }
    public SoapHeader(string userName, string passWord)
    {
        this.userName = userName;
        this.passWord = passWord;
    }
    public string UserName
    {
        set
        {
            userName = value;
        }
        get
        {
            return userName;
        }
    }
    public string PassWord
    {
        set
        {
            passWord = value;
        }
        get
        {
            return passWord;
        }
    }
}

應用在[WebMethod]上

  public class WebService : System.Web.Services.WebService
    {
        public SoapHeader soapHeader;

        [WebMethod]
        [SoapHeader("soapHeader")]
        public int SoapHeaderDemo()
        {
            int result = SoapHeaderVerification(soapHeader.UserName, soapHeader.PassWord);
            return result;
        }

        public int SoapHeaderVerification(string UserName,string PassWord)
        {
            //soapHeader驗證
            if ("UserName".Equals(UserName) & "PassWord".Equals(PassWord))
            {
                return 0;
            }
            else
            {
                return 1;
            }
        }
    }
}