ASP.NET中基于soaphead的webservice安全機制
來源:易賢網(wǎng) 閱讀:713 次 日期:2016-08-08 14:35:33
溫馨提示:易賢網(wǎng)小編為您整理了“ASP.NET中基于soaphead的webservice安全機制”,方便廣大網(wǎng)友查閱!

使用soaphead方法可以在webservice的請求中增加頭部信息,當有人調(diào)用我們的webservice時,可以通過查詢這個請求的頭部信息并驗證來防止該軟件以外的程序調(diào)用webservice

一、服務(wù)端部分

using System;

using System.Web.Services;

using System.Web.Services.Protocols;

//請注意此命名空間必須有別于代理動態(tài)連接庫上的命名空間。 

//否則,將產(chǎn)生諸如多處定義AuthHeader這樣的錯誤。 

namespace SoapHeadersCS

{

  //由SoapHeader擴展而來的AuthHeader類 

  public class AuthHeaderCS : SoapHeader

  {

    public string Username;

    public string Password;

  }

  //[WebService(Description="用于演示SOAP頭文件用法的簡單示例")] 

  public class HeaderService

  {

    public AuthHeaderCS sHeader;

    [WebMethod(Description = "此方法要求有調(diào)用方自定義設(shè)置的soap頭文件")]

    [SoapHeader("sHeader")]

    public string SecureMethod()

    {

      if (sHeader == null)

        return "ERROR:你不是VIP用戶!";

      string usr = sHeader.Username;

      string pwd = sHeader.Password;

      if (AuthenticateUser(usr, pwd))

      {

        return "成功:" + usr + "," + pwd;

      }

      else

      {

        return "錯誤:未能通過身份驗證";

      }

    }

    private bool AuthenticateUser(string usr, string pwd)

    {

      if ((usr != null) && (pwd != null))

      {

        return true;

      }

      return false;

    }

  }

}

二、客戶端部分加上驗證的請求

WebService webservice = new WebService();

AuthHeaderCS auth = new AuthHeaderCS();

auth.Username = "vip";

auth.Password = "vippw";

webservice.AuthHeaderCSValue = auth;

textBox1.Text = webservice.SecureMethod();

以上就是基于soaphead的webservice安全機制全部內(nèi)容,希望能給大家一個參考

更多信息請查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機網(wǎng)站地址:ASP.NET中基于soaphead的webservice安全機制
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65317125(9:00—18:00) 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)