作为一项学习练习,我想创建一个简单的web api并使用Web客户端(asp.net mvc)和桌面客户端(winform)来使用它。 web api必须处理类别,产品以及用户/角色,如下所示:
关于第一个消费者,asp.net mvc应用程序,我有以下问题:
在控制器中,除了 ViewResults 之外还有其他内容,因为据我所知,所有的http请求都来自javascript?
身份验证和授权怎么样?由于我们讨论的是RESTFUL服务,因此呼叫之间没有连接,用户必须在每个请求中发送一些数据来识别自己。
2.1使用HTTPVerbs是否有任何意义(在ASP.NET MVC应用程序中)?
2.2 FormsAuthentication怎么样?
2.3如何安全地将凭证发送到web.api?
对我来说一切都很模糊,有没有任何一个web api的例子,由iis独立托管并由网站(ASP.NET WebForms或ASP.NET MVC)使用,因为我看到的所有例子都不是那样的清楚。
答案 0 :(得分:1)
1)在控制器中,除了ViewResults之外还有其他内容,因为来自 我所理解的所有HTTP请求都是用JavaScript制作的?
不一定。您可以很好地使用HttpClient(Web API客户端类)直接从标准ASP.NET MVC操作中使用RESTful操作。例如,你可以很好地拥有一个存储库,它使用HttpClient来使用ASP.NET MVC Web API方法来获取数据而不是查询关系数据库。您不一定要将WEB API方法暴露给客户端JavaScript。它们可以作为数据访问的门户。当然有很多可能的情况。
2)身份验证怎么样?因为我们谈论的是RESTFUL 服务,呼叫之间没有连接,用户必须发送 在每个请求中都有一些数据来表明自己。
有许多方法可以执行身份验证。其中之一是使用表单身份验证,这是一个完善的机制涉及cookie。因此,在这种情况下,将从客户端发送以识别自己的数据实际上是一个cookie。
2.1)使用HTTPVerbs有什么意义吗?
当然。 REST就是HTTP动词。对于ASP.NET Web API,HTTP动词确定按惯例调用哪个API控制器操作。您当然可以通过覆盖默认路由设置来违反此约定。
2.2)FormsAuthentication怎么样?
见第2点)