【发布时间】:2017-06-28 21:51:41
【问题描述】:
我们的应用程序中有以下技术堆栈 AngularJS2 Asp.Net 核心 API SQL 服务器
现在我们需要在创建/编辑给定项目(即在核心 API 中)期间将登录用户的用户名存储在表中。
我们已经尝试过
- WindowsIdentity.GetCurrent().Name,它提供 IIS APPPOOL\Asp.netCore
- HttpContext.User.Identity 给出空值
我在使用 Visual Studio 时使用 WindowsIdentity 获得用户名,但使用 IIS 时,它提供的值是 Asp.Netcore,即池名称
启用 Windows 身份验证并禁用匿名身份验证
使用 IIS 6.1 版
我错过了什么吗?
【问题讨论】:
-
我有同样的问题,但 iis 7.5 在生产中。在我的开发机器上,我得到了我的 ntId,但是当我部署到 prod 时,我仍然得到应用程序池的名称。部署时没有launchSettings.json 文件。您在部署到生产环境时是否遇到同样的问题?
-
更新 - 我将 System.Security.Principal.WindowsIdentity.GetCurrent().Name 更改为 User.Identity.Name,现在它可以工作了。我以前没有工作过。
标签: iis asp.net-core windows-authentication