美国银行卡Payoneer注册奖励25美元
posts - 85,  comments - 1230,  views - 104万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

ASP.NET MVC4中的Web API提供了很好的API接口开发方式。可以更好地适应现在的跨平台移动开发。相信大家很多的项目现在都在使用Web Service作为提供数据的接口。好吧,那么Web API将是用来革Web Service的命。哈哈。 当然了,WCF这玩意我相信很可能在不久的将来会融入到ASP.NET MVC中。

 

开发提供数据的API,最重要的是数据的安全性。那么对于我们来说,如何确保数据的安全将会是需要思考的问题。没有SOAP头,只能用别的方式。比如OAUTH,HTTP AUTH等等。这篇文章将会和大家探讨下普通的http认证使用。然后会在后续提供oauth认证方案。。。。 Smile 

 

声明下:对于老鸟们,下面的文章可能对你没用,因为都是基础的http认证知识。

 

先看看ASP.NET MVC 官网提供的例子:http://code.msdn.microsoft.com/ASPNET-Web-API-JavaScript-d0d64dd7

Web API:

image

 

默认的是使用Form认证。对于我们来说这个是比较熟悉的。如果想了解MVC是如何实现监测form认证的,可以下载下MVC源代码看看(反正我是看着那些代码头疼Smile)。但是吧,这个简单的检测认证部分我还是能看明白的:

image

 

 

如果你使用的是跨平台的调用Web API,那么这个认证好像就没法用了。需要自定义认证方式,简单的办法就是继承Authorize类,override方法OnAuthorization。

这里假设我们使用基本的http认证,那么OnAuthorization方法实现如下:

image

 

在http请求的header中查看是否有认证信息,然后使用Base64解密:

image

 

来吧,浏览器测试下:访问添加了CustomBasicAuthorize的Controller,会弹出windows认证框,输入用户名和密码,使用Fiddler跟踪下:

image

 

 

 

 

 

 

http 请求信息:

image

 

看着认证信息加密了,其实没啥用,Base64加密的,太容易破解了。 所以如果这种认证方式也就适合在公司内部系统使用。 如果你真想在项目中使用,也是可以的,请使用SSL。

 

以上没有提供object-c的调用代码或者android的调用代码。

 

posted on   Nic Pei  阅读(15038)  评论(4编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示