Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET核心Windows身份验证-仅接受本地管理员凭据_C#_Asp.net Core - Fatal编程技术网

C# ASP.NET核心Windows身份验证-仅接受本地管理员凭据

C# ASP.NET核心Windows身份验证-仅接受本地管理员凭据,c#,asp.net-core,C#,Asp.net Core,因此,我正在尝试获取登录用户的user.Identity.Name。我的计算机位于域上,我正在使用域凭据登录 我在Startup.cs中实现了以下服务: services .AddAuthentication(NegotiateDefaults.AuthenticationScheme) .AddNegotiate(); 我还添加了以下行: app.UseAuthentication(); app.UseAuthorization(); 然后,我在API控制器中使用以下内容:

因此,我正在尝试获取登录用户的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


谢谢

您可以像使用Kestrel作为主机一样配置应用程序。但是,您可能正在使用IIS启动应用程序?要在IIS中正确配置Windows身份验证,您需要执行中详细介绍的一些附加步骤。我建议您仔细检查是否已在IIS、Kestrel或HTTP.sys中执行了托管所需的所有步骤,本指南对此进行了详细介绍。

嘿,Martin,谢谢您的回复。我正在使用IIS Express进行调试。实际上,我曾尝试打开一个较旧的ASP.NET应用程序(内置于VS2017),我以前在VS2019中使用过,调试时,它也遇到了完全相同的问题。可能我面临的这个问题与VS2019有关,甚至可能与我的本地用户配置文件有关。有什么想法吗?要在IIS中使用Windows身份验证,您需要在
web.config
文件中输入特定条目,如中所述。在Visual Studio中使用IIS Express时,请在项目属性中设置它们(选择web项目,按F4)。另见。