




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
要以安全的方式访问Web服务方法,可以考虑以下安全措施: 是谁调用?-SoapHeader身份认证。来自哪里?-访问IP认证。加密传输 -SSL安全访问。这些安全保护措施常常是配合使用的。7.9.1 通过SoapHeader来增强Web Service的安全性通过SoapHeader我们可以让具有指定用户口令的用户来访问我们的Web服务接口。(完整代码示例位置:光盘codech07WebAppClientWebForm-SoapHeader.aspx)1Web Service实现步骤(1)定义自己的SoapHeader派生类。1. / 2. /定义自己的SoapHeader派生类 3. / 4. publicclassMySoapHeader:System.Web.Services.Protocols.SoapHeader 5. 6. privatestring_UserID=string.Empty; 7. privatestring_PassWord=string.Empty; 8. / 9. /构造函数 10. / 11. publicMySoapHeader() 12. 13. 14. / 15. /构造函数 16. / 17. /用户ID 18. /加密后的密码 19. publicMySoapHeader(stringnUserID,stringnPassWord) 20. 21. Initial(nUserID,nPassWord); 22. 23. #region属性 24. / 25. /用户名 26. / 27. publicstringUserID 28. 29. getreturn_UserID; 30. set_UserID=value; 31. 32. / 33. /加密后的密码 34. / 35. publicstringPassWord 36. 37. getreturn_PassWord; 38. set_PassWord=value; 39. 40. #endregion 41. #region方法 42. / 43. /初始化 44. / 45. /用户ID 46. /加密后的密码 47. privatevoidInitial(stringnUserID,stringnPassWord) 48. 49. UserID=nUserID; 50. PassWord=nPassWord; 51. 52. / 53. /验证用户名密码是否正确 54. / 55. /用户ID 56. /加密后的密码 57. /返回的错误信息 58. /用户名密码是否正确 59. privateboolIsValid(stringnUserID,stringnPassWord,outstringnMsg) 60. 61. nMsg=; 62. try63. 64. /判断用户名密码是否正确 65. if(nUserID=admin&nPassWord=admin) 66. 67. returntrue; 68. 69. else70. 71. nMsg=对不起,你无权调用此Web服务。; 72. returnfalse; 73. 74. 75. catch76. 77. nMsg=对不起,你无权调用此Web服务。; 78. returnfalse; 79. 80. 81. / 82. /验证用户名密码是否正确 83. / 84. /用户名密码是否正确 85. publicboolIsValid(outstringnMsg) 86. 87. returnIsValid(_UserID,_PassWord,outnMsg); 88. 89. #endregion 90. (2)添加基于SoapHeader验证的Web Service接口方法:1. / 2. /通过SoapHeader来增强WebService的安全性 3. / 4. WebService(Namespace=/) 5. WebServiceBinding(ConformsTo=WsiProfiles.BasicProfile1_1) 6. ToolboxItem(false) 7. publicclassWebService_Soap:System.Web.Services.WebService 8. 9. /声明Soap头实例 10. publicMySoapHeadermyHeader=newMySoapHeader(); 11. 12. /普通方法,不需要SoapHeader验证 13. WebMethod(Description=根据产品编号查询产品的价格) 14. publicstringGetProductPrice(stringProductId) 15. 16. Productspro=newProducts(); 17. returnpro.GetPrice(ProductId); 18. 19. /需要SoapHeader验证 20. SoapHeader(myHeader) 21. WebMethod(Description=根据产品编号查询产品的价格,EnableSession=true) 22. publicstringGetProductPrice2(stringProductId) 23. 24. stringmsg=; 25. /验证是否有权访问 26. if(!myHeader.IsValid(outmsg) 27. 28. returnmsg;/返回错误信息 29. 30. Productspro=newProducts(); 31. returnpro.GetPrice(ProductId); 32. 33. 2客户端调用具有SoapHeader的Web Service 1. /创建myService对象 2. ProductServiceSoap.WebService_Soapservice= 3. 4. newProductServiceSoap.WebService_Soap(); 5. /创建soap头对象 6. ProductServiceSoap.MySoapHeaderheader=newProductServiceSoap.MySoapHeader(); 7. /设置soap头变量 8. header.PassWord=admin; 9. header.UserID=admin; 10. servi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 民生银行济宁市汶上县2025秋招笔试行测高频题及答案
- 平安银行福州市鼓楼区2025秋招笔试英语题专练及答案
- 2025年自考专业(工商企业管理)考试历年机考真题集及答案详解(基础+提升)
- 驾校科四考试题及答案
- 农发行济南市章丘区2025秋招群面模拟题及高分话术
- 民生银行广州市白云区2025秋招结构化面试经典题及参考答案
- 2025年中国中医科学院中医基础理论研究所招聘应届生(第二批)笔试高频难、易错点备考题库及完整答案详解1套
- 制定网络信息安全控制手册
- 地理考研备考指南
- 建立完善网络信息安全管理制度
- 2025年常州市规划馆公开招聘工作人员1人考试参考题库及答案解析
- 2025年校外培训机构应急疏散预案
- 两篇古典英文版成语故事塞翁失马
- 名著阅读《朝花夕拾 狗猫鼠》课件-部编版语文七年级上册
- 燃气轮机介绍课件
- 2022年国家公务员考试申论真题及答案解析(地市级)
- 名师成长的路径与修炼(教师版)课件
- 西方经济学导论全套课件
- “基础教育精品课”PPT课件模板
- 第8部分消防设施标识可视化
- 通用顶管监理规划
评论
0/150
提交评论