ASP.NET中基于soaphead的webservice安全機制
使用soaphead方法可以在webservice的請求中增加頭部信息,當(dāng)有人調(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)容,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
ASP.Net 圖片存入數(shù)據(jù)庫的實現(xiàn)代碼
在很多時候,我們有這樣的需求:把圖片存入到數(shù)據(jù)庫當(dāng)中。在一些應(yīng)用程序中,我們可能有一些敏感的資料,由于存儲在文件系統(tǒng)(file system)中的東西,將很容易被某些用戶盜取,所以這些數(shù)據(jù)不能存放在文件系統(tǒng)中。2008-11-11asp.net Repeater之非常好的數(shù)據(jù)分頁
asp.net Repeater之非常好的數(shù)據(jù)分頁實現(xiàn)代碼。2009-07-07ASP.NET實現(xiàn)頁面?zhèn)髦档膸追N方法小結(jié)
這篇文章介紹了ASP.NET實現(xiàn)頁面?zhèn)髦档膸追N方法,有需要的朋友可以參考一下2013-11-11.net面向?qū)ο笾嗑€程(Multithreading)及 多線程高級應(yīng)用
這篇文章主要介紹.net面向?qū)ο蟪绦蛟O(shè)計階段多線程Multithreading及多線程高級應(yīng)用的介紹,需要的朋友可以參考下2015-07-07ASP.NET?MVC5網(wǎng)站開發(fā)之添加、刪除、重置密碼、修改密碼、列表瀏覽管理員篇2(六)
這篇文章主要為大家詳細(xì)介紹了ASP.NET?MVC5網(wǎng)站開發(fā)之添加、刪除、重置密碼、修改密碼、列表瀏覽,感興趣的小伙伴們可以參考一下2016-08-08ASP.NET Core中實現(xiàn)全局異常攔截的完整步驟
這篇文章主要給大家介紹了關(guān)于ASP.NET Core中如何實現(xiàn)全局異常攔截的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01