gpt4 book ai didi

asp.net - 仅 Web API v2 项目的 HttpContext.Current.User null

转载 作者:行者123 更新时间:2023-12-02 13:47:01 24 4
gpt4 key购买 nike

我的目标是将 IWA(集成 Windows 身份验证)与 .NET Web API 结合使用。我想将该项目保留为 Web API 项目,而不使用 MVC。

我在 Visual Studio 2013 Premium 中创建了两个项目:

  1. 我首先选择了带有 Web API 模板的 ASP.NET Web 应用程序,并使用 Windows 身份验证进行身份验证。这还包括 ASP.NET MVC。
  2. 第二个是 ASP.NET Web 应用程序空模板,其中包含 Web API 的核心引用。

第一个成功了,我能够在调用时获取我的帐户 AD/Windows 身份:

 HttpContext.Current.User

第二次我无法获取我的 AD/Windows 身份时,我尝试了以下所有方法:

 - HttpContext.Current.User
- User
- RequestContext.Principal

我需要从 Web API(第二个项目)调用什么来填充用户?

最佳答案

Web API v2 使用 OWIN (Katana),要通过 IIS 启用 IWA,您需要导入 Microsoft.Owin.Host.SystemWeb 库。这将 IIS 与 ASP.NET 管道结合使用,该管道填充用户。

设置说明OWIN with Web API ,注释:

  1. 本文来自 2013 年,此后 Microsoft.Owin.Host.SystemWeb 不再处于预发布状态,例如您不需要“-pre”从 NuGet 安装。
  2. 删除 Startup.cs 的 Configuration 方法中的内容。

关于asp.net - 仅 Web API v2 项目的 HttpContext.Current.User null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31078855/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com