我的目标是将 IWA(集成 Windows 身份验证)与 .NET Web API 结合使用。我想将该项目保留为 Web API 项目,而不使用 MVC。
我在 Visual Studio 2013 Premium 中创建了两个项目:
- 第一个我选择带有 Web API 模板的 ASP.NET Web 应用程序,并使用 Windows 身份验证进行身份验证。这还包括 ASP.NET MVC。
- 第二个是 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 与 Web API http://www.asp.net/aspnet/overview/owin-and-katana/enabling-windows-authentication-in-katana, notes:
- 本文来自 2013 年,此后 Microsoft.Owin.Host.SystemWeb 不再处于预发布状态,例如您不需要“-pre”从 NuGet 安装。
- 删除Startup.cs的Configuration方法中的内容。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)