ASP.NET实现基于Forms认证的WebService应用实例_asp.net教程-查字典教程网
ASP.NET实现基于Forms认证的WebService应用实例
ASP.NET实现基于Forms认证的WebService应用实例
发布时间:2015-06-05 来源:查字典编辑
摘要:这篇文章主要介绍了实现基于Forms认证的WebService应用,实例分析了使用Forms进行WebService身份认证的相关技巧与实现...

这篇文章主要介绍了实现基于Forms认证的WebService应用,实例分析了使用Forms进行WebService身份认证的相关技巧与实现方法,需要的朋友可以参考下

在安全性要求不是很高的程序中,基于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的任务就交给他了:

.CookieContainer cookieContainer = new .CookieContainer();

MyService.WebService service = new App.MyService.WebService();

service.CookieContainer = cookieContainer;

2.我们不想使用Web表单进行身份验证,幸运的是,表单验证中的表单页(即Web.config文件中 forms 元素内的loginUrl)同样可以指定为WebService文件。

我们创建一个专门用作身份验证的Web服务,暂且命名为Login.asmx,然后让 loginUrl 等于 “Login.asmx”,当然,还需要在Web.config文件中的 authorization 节中禁止匿名访问(否则我们可就白忙活了),完成配置后的Web.config文件如下:

?

1

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新asp.net教程学习
    热门asp.net教程学习
    编程开发子分类