WebService安全篇
发布时间:2020-12-17 01:25:43 所属栏目:安全 来源:网络整理
导读:一、Web Service端的设计 先从SoapHeader继承一个自定义类CredentialSoapHeader,该类包含用户名和密码: public ? class ?CredentialSoapHeader?:?SoapHeader { ???? public ? string ?Username ???? { ???????? get ? {? ?} ???????? set ? {? ?} ????} ??
一、Web Service端的设计
public
?
class
?CredentialSoapHeader?:?SoapHeader
{ ????public?string?Username ????{ ????????get?{??} ????????set?{??} ????} ????public?string?Password ????{ ????????get?{??} ????????set?{??} ????} }
public
?
class
?IssueVisionServices?:?WebService
{ ????//?custom?SOAP?header?to?pass?credentials ????public?CredentialSoapHeader?Credentials ????{ ????????get?{??} ????????set?{??} ????} ???? }
[WebMethod(Description
=
"
Returns?the?lookup?tables?for?IssueVision.
"
)]
[SoapHeader( " Credentials " )] public ?IVDataSet?GetLookupTables() { ????SecurityHelper.VerifyCredentials(this); ????return?new?IVData().GetLookupTables(); } ?
public
?
class
?SecurityHelper?
{ ???? // ?verifies?the?clients?credentials ???? public ? static ? void ?VerifyCredentials(IssueVisionServices?service)? ????{ ????????String?userName? = ?service.Credentials.Username; ????????String?password? = ?service.Credentials.Password; ???????? // ?按照userName?和?password?进行授权验证 ???????? ????} }
private
?
static
?IssueVisionServices?GetWebServiceReference()
{ ????return?GetWebServiceReference(UserSettings.Instance.Username,?UserSettings.Instance.Password); } private ? static ?IssueVisionServices?GetWebServiceReference( string ?username,? string ?password) { ????IssueVisionServices?dataService?=?new?IssueVisionServices(); ???????? ????//<ReplaceWithWse> ????CredentialSoapHeader?header?=?new?CredentialSoapHeader(); ????header.Username?=?username; ????header.Password?=?password; ????dataService.CredentialSoapHeaderValue?=?header; ????//</ReplaceWithWse> ???????????? ????InitWebServiceProxy(dataService); ???????????? ????return?dataService; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |