黄色国产视频-日韩亚洲欧美综合一区二区三区-欧美激情完整视频免费看-狠狠色狠狠综合久久|www.7kaixin.com

構(gòu)建安全的Xml Web Service系列(一)

日期:2012/2/19 / 人氣:

     Xml Web Service 從誕生那天就說自己都么都么好,還津津樂道的說internet也會(huì)因此而進(jìn)入一個(gè)新紀(jì)元,可5年多來,Xml Web Service并沒有像當(dāng)初宣揚(yáng)的那樣火起來,盡管在一些領(lǐng)域之內(nèi),也有人牛刀小試,但從整體而言,Service還并沒有得到廣泛的應(yīng)用,原因有很多,有一些來源于目前各大廠商都堅(jiān)持自己的service標(biāo)準(zhǔn),不能形成統(tǒng)一,也有對現(xiàn)有的穩(wěn)定系統(tǒng)不愿進(jìn)行更改的原因,但還包括web service本身的原因,最明顯的應(yīng)該是兩個(gè):1) 安全,2)性能。畢業(yè)設(shè)計(jì)的時(shí)候,寫的是高性能web service的開發(fā)和應(yīng)用,下面,我想用幾篇文章來闡述一下有關(guān)xml web service安全的幾個(gè)解決方案。歡迎各位大蝦來砸。
  

佛山網(wǎng)站建設(shè)_佛山網(wǎng)站制作_佛山網(wǎng)站設(shè)計(jì)_佛山網(wǎng)站_佛山網(wǎng)頁設(shè)計(jì)_佛山網(wǎng)頁建設(shè)_佛山網(wǎng)頁制作

如何解決網(wǎng)絡(luò)服務(wù)的安全問題,我主要從以下兩個(gè)層面進(jìn)行分析:
  
1) 確保調(diào)用者的合法身份-保證來源的合法
  
2) 在傳輸中不被非法監(jiān)聽和篡改。

當(dāng)然還會(huì)有其他方面的安全隱患,希望大家能多多提出,我也好能進(jìn)一步總結(jié)。

      如果您想更快的掌握本文提到的技術(shù),您以前必須了解xml web service的工作原理,并且親自開發(fā)并部署或者使用過Xml web service,只是您并不相信您部署的xml web service是安全的。

    本節(jié)先介紹一種最為簡單的確保調(diào)用者合法的解決方案-將用戶名和密碼附加在Soap消息頭部,在服務(wù)器端進(jìn)行用戶名密碼驗(yàn)證。這種方式從解決了原網(wǎng)絡(luò)服務(wù)不能針對特定對象產(chǎn)生響應(yīng)的問題。但因?yàn)槿砸悦魑母袷?/P>

    傳輸,所以不能有效地防止信息在傳輸過程中被偷窺,篡改或偽造。

    如果您以前已經(jīng)使用了這種方法,請略過此篇文章,我下篇文章中將講述其他方式,更加合理的解決方案,歡迎您繼續(xù)關(guān)注。

下面是實(shí)現(xiàn)此種解決方案的步驟,請您一步一步來

第一步:首先您需要?jiǎng)?chuàng)建一個(gè)Xml Web Service的服務(wù)項(xiàng)目,創(chuàng)建方法如下

打開visual studio 2005,在起始頁上點(diǎn)擊創(chuàng)建項(xiàng)目,選擇visual C#中的Asp.Net web 服務(wù)應(yīng)用程序,輸入項(xiàng)目名稱

第二步:在該項(xiàng)目中創(chuàng)建一個(gè)擴(kuò)展的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;
}
}
}
}

作者:朋友圈科技


Go To Top 回頂部