目前,我有一个MVC Web应用程序,用于销售小部件。用户使用表单身份验证登录到我们的系统中,并且可以根据所属组执行各种功能(如下订单、查看订单、取消订单等)。
我们被要求编写一个API,使第三方能够在我们的系统中创建和查看订单。每个第三方都将拥有自己的用户名,并且基于所属组将受到某些API方法的限制。
我们正在考虑使用Web API作为提供API的机制。我们还希望能够从我们的MVC Web应用程序中使用此API。不幸的是,我们在Web API的身份验证方面遇到了问题。使用DelegatingHandler,我们已经实现了SSL上的基本身份验证以用于我们的Web API。这对我们的第三方非常有效。然而,当尝试从我们的MVC应用程序中使用API时,由于用户是通过Forms身份验证在MVC应用程序中进行身份验证的,但我们没有办法将这些凭据传递给Web API,因此我们收到了401访问被拒绝的错误。是否有一种方法可以将Forms Auth凭据从我们的MVC应用程序传递给我们的Web API应用程序?
IIS设置 名为WidgetStore的网站,其中包含两个Web应用程序
- WidgetStore\UI-使用表单身份验证
- WidgetStore\Api-使用基本身份验证