asp.net-web-api - 在. NET Web API 中使用 FormsAuthentication,ASP.NET Web API 认证

  显示原文与译文双语对照的内容
124 1

我们使用了一个单页应用程序,该应用程序需要与在不同域中实现的.NET 谈话。

问题

这个API是在. NET Web API 中实现的。为了验证用户访问我们的API的权限,我们实现了MVC单页应用程序模板。它使用FormsAuthentication将acccess授予 API 。

我们使用Fiddler来调试。当我们访问在浏览器中直接需要验证的API上的控制器时,我们可以确认用户确实认证了。当我们像怀疑那样做XMLHttpRequest时,报头中没有发送身份验证 Cookies 。

我们希望完成的是使用FormsAuthentication访问. NET Web API,希望通过 xmlhttprequest 。

一个建议的解决方案是在. NET Web API 和MVC之间共享会话。如何轻松地维护. NET Web API 和项目的MVC部分之间的状态?

但是,我们知道,这不是很简单,我们需要一个快速解决这个问题的方法。

:FormsAuthentication使用 [Authorize] 属性与. NET Web API 控制器一起工作。只有控制器不能是accesed的。

在使用XMLHttpRequest时收取fiddler的截图

XmlHttpRequest

当请求直接在浏览器浏览器中完成时,将收取fiddler的屏幕截图Directly in the browser

用于测试的验证控制器的屏幕截图Authentication controller

时间:原作者:0个回答

149 3

这是一个的CORS 。你可以使用 Microsoft.AspNet.WebApi.Cors 库。

在 ASP.NET Web API 中,只需要在 webapi config 中添加一行即可使用:

config.EnableCors("*","*","*");

查看这里详细信息。

原作者:
...