易截截图软件、单文件、免安装、纯绿色、仅160KB

用ASP.Net Forms模式实现WebService身份验证

在安全性要求不是很高的ASP.Net程序中,基于Forms的身份验证是经常使用的一种方式,而如果需要对WebService进行身份验证,最常用的可能是基于Soap 标头的自定义身份验证方式。如果对两者做一下比较的话,显然,基于Forms的验证方式更加方便易用,能否将Forms验证方式应用到WebService中去呢?
    从理论上讲,使用基于Forms的方式对WebService进行身份验证是可行的,但是使用过程中会存在以下两个问题:
  1.基于Forms的验证方式同时也是基于Cookie的验证方式,在使用浏览器时,这个问题是不需要我们考虑的。但对于使用WebService的应用程序来说,默认是不能保存Cookie的,需要我们自己去做这个工作。
  2.WebService既然是一个A2A(Application To Application)应用程序,使用Web表单进行身份验证显然不太合适,而且,这将不可避免的造成人机交互,使WebService的应用大打折扣。
  接下来,我们就分步解决这两个问题:
  1.Cookie的保存问题
    WebService的客户端代理类有一个属性CookieContainer可用于设置或获取Cookie集合,保存Cookie的任务就交给他了:
System.Net.CookieContainer cookieContainer = new System.Net.CookieContainer();
MyService.WebService service = new App.MyService.WebService();
service.CookieContainer = cookieContainer;
  2.我们不想使用Web表单进行身份验证,幸运的是,ASP.Net表单验证中的表单页(即Web.config文件中 forms 元素内的loginUrl)同样可以指定为WebService文件。
    我们创建一个专门用作身份验证的Web服务,暂且命名为Login.asmx,然后让 loginUrl 等于 “Login.asmx”,当然,还需要在Web.config文件中的 authorization 节中禁止匿名访问(否则我们可就白忙活了),完成配置后的Web.config文件如下:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.web>
       <compilation debug="false" />
      <authentication mode="Forms">
        <forms name="MyService" loginUrl="Login.asmx"></forms>
      </authentication>
      <authorization >


相关文档:

Asp.net常用的51个代码(非常实用)


Asp.net常用的51个代码(非常实用)
1.//弹出对话框.点击转向指定页面 
CODE:Response.Write("<script>window.alert('该会员没有提交申请,请重新提交!')</script>"); 
Response.Write("<script>window.location ='http://www.51aspx.com/bizpulic/upmeb.aspx'</script>"); 
2. ......

vs2005新建项目中没有ASP.NET WEB应用程序的解决方法

使用vs 2005,发现根本打不开老师发过来的源代码Portal_Article.csproj文件,上网查了一下,好多人都说是是因为没有给vs
2005打补丁.我的新建项目里根本没有ASP.NET WEB应用程序,经过一个下午的努力,终于总结出了,解决问题的方法.
1.先从微软网站下载补丁.
     下载地址1为:http://download.microso ......

JAVA、ASP.NET(C#) QQ群交流!


---------------------------------------
Asp.Net,C#,SQL,JS,WCF,AJAX,工作流,WPF,MVC,LINQ,设计模式(架构)等技术讨论
“ASP.NET(C#)Fans” QQ群:96877690
---------------------------------------
不管是J2SE、J2EE还是J2ME敬请加入!Eclipse、NetBeans
Java交流QQ高级群扩招:96878255  ......

ASP.Net网站开发ajax局部刷新问题

这几天在写一个页面,页面内容全是局部刷新,最近看到了Ajax控件,觉得很新鲜,于是就用控件开发,遇到的问题是在太多.
头都搞晕了 ,以后不用了 .推荐还是使用WebServices的好.
1.已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: 共享内存提供程序, error: 0 - 管道的另一端上无任何进程。)
此错误我在网上找 ......

asp.net里动态设置meta标签优化

aspx页面代码
<head runat="server">
<%--    <title>三迅网络</title>--%>
<asp:Literal ID="ltPageTitle" runat="server"/>
<asp:Literal ID="ltPagekeywords" runat="server" />
<asp:Literal ID="ltPagedescription" runat="server" />
  &n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号