Asp.net mvc 将经过身份验证的ASP.NET身份用户从MVC传递到Web API
我有一个仪表板应用程序,它由一个ASP.NET MVC5表示层和一个提供数据的Web API(通过主机应用程序中JavaScript的ajax调用)组成 该应用程序托管在IIS中,前端MVC应用程序设置为应用程序,Web API应用程序设置为子文件夹(也是IIS应用程序) 所以我的应用程序运行 打电话给。。。数据 如果我在IIS中将两个应用都设置为通过Windows身份验证进行安全保护,那么我可以在主机应用和Web API中读取登录的用户名 我有一个新的要求,即我们有外部用户帐户,因此我已将我的MVC应用程序设置为使用ASP.NET标识,在创建新的MVC 5项目时复制示例中提供的基本代码。这对于MVC主机应用程序来说很好,我登录,读取登录的用户名,可以看到我的仪表板,但是对Web API项目的ajax调用失败,因为它们无法再看到用户。HttpContext.Current.User.Identity为null,IsAuthenticated为false 根据我目前的研究,这是因为我的MVC站点使用基于cookie的身份验证方法:Asp.net mvc 将经过身份验证的ASP.NET身份用户从MVC传递到Web API,asp.net-mvc,authentication,asp.net-web-api,asp.net-identity,Asp.net Mvc,Authentication,Asp.net Web Api,Asp.net Identity,我有一个仪表板应用程序,它由一个ASP.NET MVC5表示层和一个提供数据的Web API(通过主机应用程序中JavaScript的ajax调用)组成 该应用程序托管在IIS中,前端MVC应用程序设置为应用程序,Web API应用程序设置为子文件夹(也是IIS应用程序) 所以我的应用程序运行 打电话给。。。数据 如果我在IIS中将两个应用都设置为通过Windows身份验证进行安全保护,那么我可以在主机应用和Web API中读取登录的用户名 我有一个新的要求,即我们有外部用户帐户,因此我已将我的
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Account/Login"),
Provider = new CookieAuthenticationProvider
{....
但是WebAPI是无状态的,正在寻找授权头
如何设置我的子Web API应用程序,以便能够从父应用程序读取登录的用户