Asp.net core 为什么我在IIS上的ASP.NET Core上的同一应用程序中的某些用户上获得404
我对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身份验证。在某些计算机(用户?)上,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.
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!对不起,我已经有一个长周末没来了。我将对此进行调查,并试图对此给出更好的看法。