- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Ajax访问XmlWebService安全问题以及解决方案
HYPERLINK /jillzhang/archive/2008/06/12/1218690.html Ajax访问Xml Web Service的安全问题以及解决方案
在 ajax中updatepanel比较常用,原本需要刷新的操作套在updatepanel中就成了ajax操作了,挺帅!但ajax也是支持与Xml Web Service交互的,这种方法更像是传统的ajaxpro和其他ajax框架,如jquery,magicajax,extjs的风格,但MS总是独树一帜,谁让他的产品设计能力那么高呢!我辈恐怕望尘莫及亚.闲话少叙,下面简单讲述下 ajax如何调用xml web service,熟悉的朋友就略过吧
1. 创建一个支持Asp.Net Ajax的网站或者网络应用程序,我使用的是vs2008,在vs2008中,如果建立的网站支持.net framework 3.5就有ajax的缺省支持,这陈芝麻,烂谷子的事情,也不多说。
2. 建立好项目之后,在网站根目录中添加一个Web服务UserService.asmx,在UserService.asmx中添加如下方法:
[WebMethod]?public?bool?UserAdd(string?userName,string?pwd)?{?return?true;?}?
注意服务类上部要添加Attribute
[System.Web.Script.Services.ScriptService]
3. 然后把default.aspx中的ScriptManager修改成如下代码的德性:
asp:ScriptManager?ID=ScriptManager1?runat=server?Services?asp:ServiceReference?Path=UserService.asmx?/?/Services?/asp:ScriptManager?
下面我们就在页面中创建用Ajax消费这个UserService的代码:主要包括如下:?
h2Ajax调用Xml?Web?Service示例1/h2?div?style=border:?1px?solid?Black;?width:?50%;?padding:?10px;?table?class=style1?tr?td?用户名:?/td?td?input?id=txtName?type=text?/?/td?/tr?tr?td?密码:?/td?td?input?id=txtPwd?type=password?/?/td?/tr?tr?td?nbsp;?/td?td?input?id=Button2?type=button?value=提交?onclick=userAdd()?/?/td?/tr?/table?/div?
在head/head添加如下脚本
function?userAdd()?{?var?name?=?$get(txtName).value;?var?pwd?=?$get(txtPwd).value;?AjaxWs.UserService.UserAdd(name,pwd,userAddCallBack);?}?function?userAddCallBack(res)?{?alert(res);?}?
4.?好,现在一个简单的ajax调用web service的示例代码已经搞定,罗索了不少,其实简单的不能再简单,运行页面,点击提交按钮,效果如下:
表示成功。一般人这一步都会成功的。二般的除外亚,:)??
一些正常,那是不是到这里就万事大吉,ajax万岁!web service真好!下面是略加思考之后的问题??
问题一:
上面的Xml Web Service没有任何保护,如果UserAdd是一个数据库插入操作,那这个操作往往系统只被经过授权的人才能调用成功。以前看有朋友讨论ajax如何调用带有SoapHeader的xml web service,细细想想,其实没什么必要!js是客户端的东西,是放出去收不回来的玩意,天知道用户是哪路货色 ,如果将身份信息试图通过js传递给SoapHeader,那密码被截获的可能性就比较大。正确的做法其实是Session .我们知道Web Service方法中添加一个[WebMethod(EnableSession=true)]就能使用Session了,Session这家伙专门用于保持会话,有这样一个 认识之后,新增一个网络服务方法,这个方法实现功能和起初的UserAdd一致,只是添加上
您可能关注的文档
- 2014年高考志愿报考指南I专业选择.doc
- 2014年材料学院生活部第一次集体出游策划书.doc
- 2014延边大学经济管理学院“丹彩飘墨香,和风颂经管”书法大赛策划书.doc
- 2014级会计硕士专业会计师事务所实习报告.doc
- 2014,新一年浅析企业可以持续发展战略.docx
- 2014级音乐学院学生德育学分测评与奖惩办法.doc
- 2014综合部总结.docx
- 2014最新秋仁爱英语八年级上单词表(汉语).doc
- 2015--2016教师年度考核个人工作总结.doc
- 2015-04-操作系统概论.docx
- 原电池电动势的测定实验报告.pdf
- 与业主、设计、总包、监理和他承包人的配合措施.pdf
- 公司管理流程.pptx
- 2024_2025学年新教材高中地理第1章地球的运动素养综合训练新人教版选择性必修1.doc
- 2024_2025学年新教材高中地理第3章大气的运动第1节常见天气系统第1课时锋与天气分层作业新人教版选择性必修1.doc
- 2024_2025学年新教材高中地理第1章地球的运动第2节地球运动的地理意义第4课时正午太阳高度的变化四季更替和五带划分分层作业课件新人教版选择性必修1.pptx
- 2024_2025学年新教材高中地理第2章地表形态的塑造第2节构造地貌的形成第1课时地质构造与地貌课件新人教版选择性必修1.pptx
- 2024_2025学年新教材高中地理第1章地球的运动问题研究人类是否需要人造月亮课件新人教版选择性必修1.pptx
- 五片小雪花课件.pdf
- 2024_2025学年新教材高中地理第3章大气的运动第2节气压带和风带第1课时气压带和风带的形成分层作业课件新人教版选择性必修1.pptx
文档评论(0)