保證WebService的安全

2021-09-05 23:47:50 字數 1794 閱讀 5104

給第三方做了個webservice,因為都是內部系統沒有用到什麼身份驗證,今晚突發奇想,翻書看了一下,有幾個個人認為不是很好的方法,現在展示出來,只求拋磚引玉

通過soapheader來增強webservice的安全性

通過soapheader可以讓具有指定使用者口令的使用者來訪問自己的webservice介面。

soadheader派生類實現

///

///summary description for soapheader

///

public

class

mysoapheader:system.web.services.protocols.soapheader

set}

private

string

_username

=string

.empty;

public

string

username

set}

public

mysoapheader()

public

mysoapheader(

string

userid,

string

pwd)

private

bool

isvalid(

string

userid,

string

pwd,

outstring

exceptionmsg)

else

}catch

}public

bool

isvalid(

outstring

exceptionmsg)}

新增基於soapheader驗證的webservice實現

[webservice(namespace ="

")][webservicebinding(conformsto

=wsiprofiles.basicprofile1_1)]

//to allow this web service to be called from script, using asp.net ajax, uncomment the following line.

//[system.web.script.services.scriptservice]

public

class

webservice : system.web.services.webservice

//例項化soap頭例項

public

mysoapheader myheader

=new

mysoapheader();

[webmethod]

public

string

helloworld()

else

//驗證通過}}

客戶端呼叫具有soapheader的webservice

protected

void

page_load(

object

sender, eventargs e)

感覺就是做了個身份驗證

還有一些方法,可以通過ip等來限制,主要是ip是可以偽造的,還有可以採用ssl實現加密傳輸,這個主要是要申請證書,需要在伺服器安裝證書服務等等,對站點的整體效能有影響,因為它需要進行多次加解密的資料處理。

如果有人有比較好的方法,還望不吝賜教

如何保證Web Service的安全

要以安全的方式訪問web服務方法,可以考慮以下安全措施 l 是誰呼叫?soapheader身份認證。l 來自 訪問ip認證。l 加密傳輸 ssl安全訪問。這些安全保護措施常常是配合使用的。1 web service實現步驟 1 定義自己的soapheader派生類。定義自己的soapheader派生...

webservice安全驗證

大致可分為下面幾種 1 身份驗證和屬性控制,可以整合windows驗證 域伺服器驗證 net passport驗證。2 ip網域名稱限制,只允許特定的ip或者域內機器訪問,對非法的請求進行過濾,3 安全通訊設定,使用者可以啟用web伺服器證書,採用ssl對網路傳遞的資訊進行加密,來保證web ser...

保證執行緒安全的思路

1 使用沒有資源共享的模型 2 有資源共享,但對共享資源只進行讀操作,不去改變資源 2.1不需要對共享資源進行寫操作 2.2使用不可變物件 3 直面執行緒安全 3.1保證原子性 3.2保證 的順序性 3.3保證 的可見性 原子性 比如a在乙個房間內做自己的事情,如果房間沒有上鎖,別的人進去房間會讓a...