Asp.net core 为什么我在IIS上的ASP.NET Core上的同一应用程序中的某些用户上获得404

Asp.net core 为什么我在IIS上的ASP.NET Core上的同一应用程序中的某些用户上获得404,asp.net-core,entity-framework-6,http-status-code-404,windows-authentication,.net-4.6,Asp.net Core,Entity Framework 6,Http Status Code 404,Windows Authentication,.net 4.6,我对ASP.NET、IIS和Web应用程序非常陌生,所以我的问题可能很愚蠢,但我已经搜索了3天,我就是不明白:-( 我已经在完整的框架4.5.2上使用EF6在ASP.NET Core 1.1中构建了一个应用程序。我使用windows authentification从头开始构建它。当我有一点时间展示时,我在运行IIS 8.5的服务器上发布了该网站。该网站正常工作,我们公司的每个人都通过了身份验证,现在仍然如此 与此同时,我在该网站上工作,并添加了一些新功能,包括Novell.directory.

我对ASP.NET、IIS和Web应用程序非常陌生,所以我的问题可能很愚蠢,但我已经搜索了3天,我就是不明白:-(

我已经在完整的框架4.5.2上使用EF6在ASP.NET Core 1.1中构建了一个应用程序。我使用windows authentification从头开始构建它。当我有一点时间展示时,我在运行IIS 8.5的服务器上发布了该网站。该网站正常工作,我们公司的每个人都通过了身份验证,现在仍然如此

与此同时,我在该网站上工作,并添加了一些新功能,包括Novell.directory.Ldap.NETStandard包

现在有趣的部分。。。 我使用完全相同的配置在IIS上发布了升级后的站点。该站点按预期工作。但对于我的50%用户来说,它以404错误和一个空白屏幕结束。 如果相同的用户启动“旧”站点,他们可以按预期使用它

有人知道问题出在哪里,或者至少有人知道我是如何找出到底出了什么问题的吗

顺便说一句,我无法在服务器上进行调试,因为它受智能卡保护

也许有一个技巧让我像在IIS Express上一样获得调试错误页面

提前感谢您的所有想法:-)

编辑: 好吧,我发现了一些事情。问题来自Windows身份验证。在某些计算机(用户?)上,
User.Identity.Name返回null

编辑2: 这是我的web.config

<configuration>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true" />
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
    </handlers>
    <aspNetCore forwardWindowsAuthToken="true" processPath=".\DocudatWebApp.exe" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
    <httpProtocol>
      <customHeaders>
        <add name="X-UA-Compatible" value="IE=11" />
      </customHeaders>
    </httpProtocol>
    <security>
      <authorization>
        <remove users="*" roles="" verbs="" />
        <add accessType="Deny" users="?" />
        <add accessType="Allow" users="*" />
      </authorization>
    </security>
  </system.webServer>
</configuration>

这里是我的Program.cs

    public class Program
    {
        public static void Main(string[] args)
        {
            var host = new WebHostBuilder()
                .UseKestrel()
                .UseContentRoot(Directory.GetCurrentDirectory())
                .UseIISIntegration()
                .UseStartup<Startup>()
                .UseApplicationInsights()
                .Build();

            host.Run();
        }
    }
}
公共类程序
{
公共静态void Main(字符串[]args)
{
var host=new WebHostBuilder()
.UseKestrel()
.UseContentRoot(目录.GetCurrentDirectory())
.Useii整合()
.UseStartup()
.UseApplicationInsights()
.Build();
host.Run();
}
}
}
编辑3 好的,我放弃了windows身份验证,转而使用OIDC。
现在一切正常。

没有代码,很难说。我建议您添加一些错误日志,您可以从后端(例如Elmah)查看这些日志,以跟踪您的问题。嗨,DavidG!对不起,我已经有一个长周末没来了。我将对此进行调查,并试图对此给出更好的看法。