ASP.NET中基于soaphead的webservice安全機(jī)制
使用soaphead方法可以在webservice的請(qǐng)求中增加頭部信息,當(dāng)有人調(diào)用我們的webservice時(shí),可以通過(guò)查詢這個(gè)請(qǐng)求的頭部信息并驗(yàn)證來(lái)防止該軟件以外的程序調(diào)用webservice
一、服務(wù)端部分
using System; using System.Web.Services; using System.Web.Services.Protocols; //請(qǐng)注意此命名空間必須有別于代理動(dòng)態(tài)連接庫(kù)上的命名空間。 //否則,將產(chǎn)生諸如多處定義AuthHeader這樣的錯(cuò)誤。 namespace SoapHeadersCS { //由SoapHeader擴(kuò)展而來(lái)的AuthHeader類 public class AuthHeaderCS : SoapHeader { public string Username; public string Password; } //[WebService(Description="用于演示SOAP頭文件用法的簡(jiǎn)單示例")] 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 "錯(cuò)誤:未能通過(guò)身份驗(yàn)證"; } } private bool AuthenticateUser(string usr, string pwd) { if ((usr != null) && (pwd != null)) { return true; } return false; } } }
二、客戶端部分加上驗(yàn)證的請(qǐng)求
WebService webservice = new WebService(); AuthHeaderCS auth = new AuthHeaderCS(); auth.Username = "vip"; auth.Password = "vippw"; webservice.AuthHeaderCSValue = auth; textBox1.Text = webservice.SecureMethod();
以上就是基于soaphead的webservice安全機(jī)制全部?jī)?nèi)容,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- ASP.NET使用WebService實(shí)現(xiàn)天氣預(yù)報(bào)功能
- jQuery調(diào)用Webservice傳遞json數(shù)組的方法
- 甩掉ashx和asmx使用jQuery.ajaxWebService請(qǐng)求WebMethod簡(jiǎn)練處理Ajax
- 使用jQuery Ajax 請(qǐng)求webservice來(lái)實(shí)現(xiàn)更簡(jiǎn)練的Ajax
- C# WebService發(fā)布以及IIS發(fā)布
- jQuery 調(diào)用WebService 實(shí)例講解
- WebService的相關(guān)概念
相關(guān)文章
.NET的Ajax請(qǐng)求數(shù)據(jù)提交實(shí)例
這篇文章主要介紹了.NET的Ajax請(qǐng)求數(shù)據(jù)提交實(shí)例,較為詳細(xì)的分析了Ajax請(qǐng)求、數(shù)據(jù)的提交以及參數(shù)的傳遞技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-01-01ASP.Net 圖片存入數(shù)據(jù)庫(kù)的實(shí)現(xiàn)代碼
在很多時(shí)候,我們有這樣的需求:把圖片存入到數(shù)據(jù)庫(kù)當(dāng)中。在一些應(yīng)用程序中,我們可能有一些敏感的資料,由于存儲(chǔ)在文件系統(tǒng)(file system)中的東西,將很容易被某些用戶盜取,所以這些數(shù)據(jù)不能存放在文件系統(tǒng)中。2008-11-11.aspx中的命名空間設(shè)置實(shí)現(xiàn)代碼
原來(lái)以為.aspx 與.cs文件是屬于同一個(gè)類,今天才意識(shí)到自己錯(cuò)了。2009-04-04asp.net Repeater之非常好的數(shù)據(jù)分頁(yè)
asp.net Repeater之非常好的數(shù)據(jù)分頁(yè)實(shí)現(xiàn)代碼。2009-07-07ASP.NET實(shí)現(xiàn)頁(yè)面?zhèn)髦档膸追N方法小結(jié)
這篇文章介紹了ASP.NET實(shí)現(xiàn)頁(yè)面?zhèn)髦档膸追N方法,有需要的朋友可以參考一下2013-11-11.net面向?qū)ο笾嗑€程(Multithreading)及 多線程高級(jí)應(yīng)用
這篇文章主要介紹.net面向?qū)ο蟪绦蛟O(shè)計(jì)階段多線程Multithreading及多線程高級(jí)應(yīng)用的介紹,需要的朋友可以參考下2015-07-07ASP.NET?MVC5網(wǎng)站開(kāi)發(fā)之添加、刪除、重置密碼、修改密碼、列表瀏覽管理員篇2(六)
這篇文章主要為大家詳細(xì)介紹了ASP.NET?MVC5網(wǎng)站開(kāi)發(fā)之添加、刪除、重置密碼、修改密碼、列表瀏覽,感興趣的小伙伴們可以參考一下2016-08-08ASP.NET Core中實(shí)現(xiàn)全局異常攔截的完整步驟
這篇文章主要給大家介紹了關(guān)于ASP.NET Core中如何實(shí)現(xiàn)全局異常攔截的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01