安全性和xmlwebservices

安全性和xmlwebservices

ID:25654529

大小:69.18 KB

页数:6页

时间:2018-11-21

安全性和xmlwebservices_第1页
安全性和xmlwebservices_第2页
安全性和xmlwebservices_第3页
安全性和xmlwebservices_第4页
安全性和xmlwebservices_第5页
资源描述:

《安全性和xmlwebservices》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、在调用WebSerivices时,往往需要身份验证,使得通过验证的用户才能调用你WebSerivices中的方法.当然你可以通过将参数添加到每个需要自定义身份验证方案的Webservices方法中去,这需要花费很大的精力.IssueVision中使用了非常常用而且有效便捷的方法-----使用SoapHeader来实现自定义身份验证数据的传递.SoapHeader提供了一种方法,用于将数据传递到Webservices方法或从Webservices方法传递数据,条件是该数据不直接与Webservices方法的主功能相关.你不用将

2、参数添加到每个需要自定义身份验证方案的Webservices方法,而可以将引用从SoapHeader派生的类的SoapHeaderAttribute应用于每个Webservices方法。从SoapHeader派生的类的实现处理该自定义身份验证方案.IssueVision就是利用SoapHeader的这种能力来实现自定义身份验证数据传递的.我们来看一下如何利用SoapHeader来传递数据.1.首先需要在服务中定义一个从SOAPHeader派生的类,表示传入SOAP标头的数据.IssueVision在中IssueVisionW

3、eb项目(此项目用于发布WebServices)中通过创建CredentialSoapHeader类来实现第一步.CredentialSoapHeader.csusingSystem.Web.Services.Protocols;namespaceIssueVision.Web{publicclassCredentialSoapHeader:SoapHeader{privatestringm_username;privatestringm_password;publicstringUsername{get{returnm_u

4、sername;}set{m_username=value;}}publicstringPassword{get{returnm_password;}set{m_password=value;}}}}2.将服务的公共字段声明为该类型,使该SoapHeader在WebServices的公共合同中公开,并在创建代理时可由客户端使用.IssueVision的WebServices----IssueVisionServices.asmx如此实现.IssueVisionServices.asmx代码片断:publicclassIssu

5、eVisionServices:WebService{...privateCredentialSoapHeaderm_credentials;//customSOAPheadertopasscredentialspublicCredentialSoapHeaderCredentials{get{returnm_credentials;}set{m_credentials=value;}}.......}3.在WebServices使用SoapHeader自定义属性定义一组关联的标头,服务中的每个WebMethod都可以使用.

6、(默认情况下,标头是必需的,但也可以定义可选标头)IssueVisionServices.asmx代码片断:....[WebMethod(Description="ReturnsthelookuptablesforIssueVision.")][SoapHeader("Credentials")]publicIVDataSetGetLookupTables(){SecurityHelper.VerifyCredentials(this);returnnewIVData().GetLookupTables();}Securit

7、yHelper类的VerifyCredentials方法用来从WebServices中的SoapHeader类来得到自定义身份验证凭据(如用户名和密码).SecurityHelper.cs代码片断如下://verifiestheclientscredentialspublicstaticvoidVerifyCredentials(IssueVisionServicesservice){if(service.Credentials==null

8、

9、service.Credentials.Username==null

10、

11、servi

12、ce.Credentials.Password==null)//如果没有认证信息,返回SoapException,这样就不能匿名调用WebMethod了{EventLogHelper.LogFailureAudit("Aloginwasattemptedwithmissingcredent

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。