C# 调试IIS Express身份验证问题
我有一个带有Windows身份验证的MVC网页,其中用户使用域凭据登录。以下是我的auth web.config设置:C# 调试IIS Express身份验证问题,c#,asp.net-mvc,iis-express,C#,Asp.net Mvc,Iis Express,我有一个带有Windows身份验证的MVC网页,其中用户使用域凭据登录。以下是我的auth web.config设置: <system.web> <compilation debug="true" targetFramework="4.6.1" /> <httpRuntime targetFramework="4.5" maxQueryStringLength="32768&quo
<system.web>
<compilation debug="true" targetFramework="4.6.1" />
<httpRuntime targetFramework="4.5" maxQueryStringLength="32768" maxUrlLength="65536" />
<customErrors mode="Off" />
<authentication mode="Windows" />
<authorization>
<allow roles="NG\All-Trained-Users" />
<deny users="*" />
</authorization>
<hostingEnvironment shadowCopyBinAssemblies="false" />
<pages>
<namespaces>
<add namespace="System.Web.Helpers" />
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Optimization" />
<add namespace="System.Web.Routing" />
<add namespace="System.Web.WebPages" />
</namespaces>
</pages>
<identity impersonate="true" />
</system.web>
但是,在应用程序中拒绝访问共享资源
- global.asax.cs应用程序_Start()方法完成后,系统会提示用户输入Windows身份验证。在这种方法中,应用程序可以访问共享资源。例如,
打印“true”。我的理解是,登录的Windows用户身份用于验证访问权限,对吗Console.Writeline(Directory.Exists(\\existing\shared\Directory))
- 我正在使用相同的凭据登录Windows和登录网页。但是,当我登录到该网页时,有些事情发生了变化,因为
将“false”打印为Index()方法的第一行。尝试访问文件将返回System.UnauthorizedAccessException。这些凭证在MVC中是否有不同的处理方式Console.Writeline(Directory.Exists(\\existing\shared\Directory”)
我已经找不到可以解决这个问题的地方了。我确信如果我看对了地方,它会显示错误的用户、错误的域或错误的身份验证方法,但我不知道该看哪里。有什么关于我应该去哪里的提示吗?我要把这件事归咎于大流行。显然,当我们的办公室移动到远程并开始使用VPN时,我们的VPN设置在IIS Express中触发: 使用集成安全性时,将禁用匿名访问,并启用模拟,安全措施生效,不允许您的站点访问任何网络服务器上的资源
我们可能会找到一个更安全的VPN设置修复程序,但我们外出时的临时解决方案是在VPN上调试时不使用模拟。更多详细信息:我使用的是VS Enterprise 2019版本16.8.2,运行IIS Express版本10.0.19041.1。而且,它过去在本地工作,现在仍然可以在部署后工作。几个月前,它在当地坏了,但我直到现在才需要修复它。就好像IIS Express在Windows身份验证之前和之后都正确填充了用户名,但在身份验证之后却没有正确填充该用户的权限?