ASP.NET MVC4中的Web API提供了很好的API接口开发方式。可以更好地适应现在的跨平台移动开发。相信大家很多的项目现在都在使用Web Service作为提供数据的接口。好吧,那么Web API将是用来革Web Service的命。哈哈。 当然了,WCF这玩意我相信很可能在不久的将来会融入到ASP.NET MVC中。
开发提供数据的API,最重要的是数据的安全性。那么对于我们来说,如何确保数据的安全将会是需要思考的问题。没有SOAP头,只能用别的方式。比如OAUTH,HTTP AUTH等等。这篇文章将会和大家探讨下普通的http认证使用。然后会在后续提供oauth认证方案。。。。
声明下:对于老鸟们,下面的文章可能对你没用,因为都是基础的http认证知识。
先看看ASP.NET MVC 官网提供的例子:http://code.msdn.microsoft.com/ASPNET-Web-API-JavaScript-d0d64dd7
Web API:
默认的是使用Form认证。对于我们来说这个是比较熟悉的。如果想了解MVC是如何实现监测form认证的,可以下载下MVC源代码看看(反正我是看着那些代码头疼)。但是吧,这个简单的检测认证部分我还是能看明白的:
如果你使用的是跨平台的调用Web API,那么这个认证好像就没法用了。需要自定义认证方式,简单的办法就是继承Authorize类,override方法OnAuthorization。
这里假设我们使用基本的http认证,那么OnAuthorization方法实现如下:
在http请求的header中查看是否有认证信息,然后使用Base64解密:
来吧,浏览器测试下:访问添加了CustomBasicAuthorize的Controller,会弹出windows认证框,输入用户名和密码,使用Fiddler跟踪下:
http 请求信息:
看着认证信息加密了,其实没啥用,Base64加密的,太容易破解了。 所以如果这种认证方式也就适合在公司内部系统使用。 如果你真想在项目中使用,也是可以的,请使用SSL。
以上没有提供object-c的调用代码或者android的调用代码。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架