ASP.NET Core Windows身份验证-仅接受本地管理员凭据

时间:2020-09-29 07:36:16

标签: c# asp.net-core

因此,我试图获取登录用户的User.Identity.Name。我的计算机在域上,并且我正在使用域凭据登录。

我已经在Startup.cs中实现了以下服务:

services
   .AddAuthentication(NegotiateDefaults.AuthenticationScheme)
   .AddNegotiate();

我还添加了以下几行:

app.UseAuthentication(); 
app.UseAuthorization();

然后我在API控制器中使用以下内容:

[HttpGet]
        public String Get()
        {
            return User.Identity.Name;
        }

启动应用程序时,它将不接受我登录的用户凭据。它只会接受我的其他具有本地管理员访问权限的域帐户。这是预期的行为吗?我该如何解决?

我记得在VS2017和Asp.Net中可以正常工作。我目前正在将VS2019与Core 3.1一起使用

谢谢

1 个答案:

答案 0 :(得分:0)

您可以像使用Kestrel作为主机那样配置应用程序。但是,也许您正在使用IIS启动应用程序?要在IIS中正确配置Windows身份验证,您需要执行一些其他步骤,这些步骤在Configure Windows Authentication in ASP.NET Core中有详细介绍。我建议您仔细检查是否已执行本指南中详细介绍的在IIS,Kestrel或HTTP.sys中进行托管的所有步骤。