構建安全的Xml Web Service系列(一)
日期:2012/2/19 / 人氣:
Xml Web Service 從誕生那天就說自己都么都么好,還津津樂道的說internet也會因此而進入一個新紀元,可5年多來,Xml Web Service并沒有像當初宣揚的那樣火起來,盡管在一些領域之內,也有人牛刀小試,但從整體而言,Service還并沒有得到廣泛的應用,原因有很多,有一些來源于目前各大廠商都堅持自己的service標準,不能形成統一,也有對現有的穩定系統不愿進行更改的原因,但還包括web service本身的原因,最明顯的應該是兩個:1) 安全,2)性能。畢業設計的時候,寫的是高性能web service的開發和應用,下面,我想用幾篇文章來闡述一下有關xml web service安全的幾個解決方案。歡迎各位大蝦來砸。
佛山網站建設_佛山網站制作_佛山網站設計_佛山網站_佛山網頁設計_佛山網頁建設_佛山網頁制作
如何解決網絡服務的安全問題,我主要從以下兩個層面進行分析:
1) 確保調用者的合法身份-保證來源的合法
2) 在傳輸中不被非法監聽和篡改。
當然還會有其他方面的安全隱患,希望大家能多多提出,我也好能進一步總結。
如果您想更快的掌握本文提到的技術,您以前必須了解xml web service的工作原理,并且親自開發并部署或者使用過Xml web service,只是您并不相信您部署的xml web service是安全的。
本節先介紹一種最為簡單的確保調用者合法的解決方案-將用戶名和密碼附加在Soap消息頭部,在服務器端進行用戶名密碼驗證。這種方式從解決了原網絡服務不能針對特定對象產生響應的問題。但因為仍以明文格式
傳輸,所以不能有效地防止信息在傳輸過程中被偷窺,篡改或偽造。
如果您以前已經使用了這種方法,請略過此篇文章,我下篇文章中將講述其他方式,更加合理的解決方案,歡迎您繼續關注。
下面是實現此種解決方案的步驟,請您一步一步來
第一步:首先您需要創建一個Xml Web Service的服務項目,創建方法如下
打開visual studio 2005,在起始頁上點擊創建項目,選擇visual C#中的Asp.Net web 服務應用程序,輸入項目名稱
第二步:在該項目中創建一個擴展的SoapHeader對象MySoapHeader,如
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Web.Services.Protocols;
namespace WebService1
{
public class MySoapHeader:SoapHeader
{
private string _userName;
private string _pwd;
/**//// <summary>
/// 用戶名
/// </summary>
public string UserName
{
get
{
return _userName;
}
set
{
_userName = value;
}
}
/**//// <summary>
/// 密碼
/// </summary>
public string Pwd
{
get
{
return _pwd;
}
set
{
_pwd = value;
}
}
}
}
作者:朋友圈科技
相關內容 Related
- 為什么響應式設計需要媒體查詢2016/8/5
- 虛擬主機被搜索引擎爬蟲訪問耗費大量流量解決方法2016/8/3
- 網站建設中如何創建完美的顏色組合2016/8/1
- 什么是長尾關鍵詞?2016/8/1
- 建設企業或個人網站的好處2016/7/8
- 前端開發者需要知道的常識2016/7/6
- 12種方法為您拓展業務通道2016/7/27
- SEO優化的三大技巧2016/7/24
- 10的方法來提高你的網站設計2016/7/24
- 網站統計用哪個比較好,百度?cnzz?2016/7/21