Asp.net core 当使用IIS Express而不是Kestrel时,为什么Active Directory与Visual Studio MVC模板一起工作?

Asp.net core 当使用IIS Express而不是Kestrel时,为什么Active Directory与Visual Studio MVC模板一起工作?,asp.net-core,active-directory,kestrel-http-server,Asp.net Core,Active Directory,Kestrel Http Server,我使用IIS Express时看到我的广告名是 @User.Identity.Name 我换成红隼,名字是空的 红隼的广告怎么了 我尝试了下面的一些修复,但不太确定我知道我在做什么 services.AddAuthentication(HttpSysDefaults.AuthenticationScheme); //.UseHttpSys(options => //{ // options.Authenticati

我使用IIS Express时看到我的广告名是

@User.Identity.Name
我换成红隼,名字是空的

红隼的广告怎么了

我尝试了下面的一些修复,但不太确定我知道我在做什么

services.AddAuthentication(HttpSysDefaults.AuthenticationScheme);

 //.UseHttpSys(options =>
                //{
                //    options.Authentication.Schemes =
                //        AuthenticationSchemes.NTLM |
                //        AuthenticationSchemes.Negotiate;
                //    options.Authentication.AllowAnonymous = false;
                //})

正如文件中所述:

Windows身份验证(也称为协商、Kerberos或NTLM 身份验证)可以为托管的ASP.NET核心应用程序配置 或者

因此
Kestrel
根本不支持
Windows身份验证
您有两个选择:使用或托管。Tu使用“HTTP.sys”您需要:

.UseHttpSys(options =>
{
    options.Authentication.Schemes = AuthenticationSchemes.NTLM | AuthenticationSchemes.Negotiate;
    options.Authentication.AllowAnonymous = false;
})

这可能对您现在没有帮助,但ASP.NET Core 3将支持使用Kestrel进行Windows身份验证(包括在Linux和Mac上),您可以阅读相关内容。

这与launchSettings.json中的设置有何关系?我一直认为该选项只是IIS或Kestrel。由于连接被重置,无法访问此站点。当我对HTTP.SYS:(@punkouter)做了两个必要的更改时,我不确定我是否理解你的意思。你能澄清一下吗?我们将在v3发布之前升级到v3,希望这能解决我的问题。最后我们将使用docker,我想无论如何都要在Kestral中托管