在WebService加入安全驗證

2022-01-11 13:27:37 字數 1806 閱讀 6431

webservice的優點就不多說了,使用xml作為資料格式,可以跨平台、跨語言與多種應用程式互動。

今天,我們來實現在webservice中加入安全驗證機制。

我們先,建立乙個asp.net專案,在其中新增乙個demoservice的webservice。

/// /// demoservice 的摘要說明

///

[webservice(namespace = "")]

[webservicebinding(conformsto = wsiprofiles.basicprofile1_1)]

[system.componentmodel.toolboxitem(false)]

// 若要允許使用 asp.net ajax 從指令碼中呼叫此 web 服務,請取消對下行的注釋。

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

public class demoservice : system.web.services.webservice

}

一切都是預設的,之後,我們再加入乙個windows控制台專案,新增web引用,將剛剛建好的webservice加入到專案中,並呼叫該webservice。

顯示結果:

接下來,我們使用令牌的方式為webservice新增安全驗證。

1.new乙個安全令牌類,這個類要繼承soapheader,我們是利用soapheader實現安全驗證的。

/// /// 安全驗證令牌

///

public class securitytoken : soapheader

}

2.修改webservice的的類,支援安全驗證

/// /// demoservice 的摘要說明

///

[webservice(namespace = "")]

[webservicebinding(conformsto = wsiprofiles.basicprofile1_1)]

[system.componentmodel.toolboxitem(false)]

// 若要允許使用 asp.net ajax 從指令碼中呼叫此 web 服務,請取消對下行的注釋。

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

public class demoservice : system.web.services.webservice

/// /// 驗證是安全令牌是否正確

///

///

private bool isvalitoken()

}

3.修改呼叫端。更新webservice引用,修改**。

//例項化webservice

servicereference.demoservicesoapclient client = new servicereference.demoservicesoapclient();

//例項化令牌

servicereference.securitytoken token = new servicereference.securitytoken();

//設定令牌的金鑰

token.key = "dotnetdev.cn";

//呼叫webservice

console.writeline(client.helloworld(token));

console.readkey();

注:這裡使用的是新增服務引用的方式,如果新增web引用的方式可能稍顯不同。不過原理是一樣的。

webservice安全驗證

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

保證WebService的安全

給第三方做了個webservice,因為都是內部系統沒有用到什麼身份驗證,今晚突發奇想,翻書看了一下,有幾個個人認為不是很好的方法,現在展示出來,只求拋磚引玉 通過soapheader來增強webservice的安全性 通過soapheader可以讓具有指定使用者口令的使用者來訪問自己的webser...

如何保證Web Service的安全

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