我有一个在 Win Server 2k3 (IIS6) 下运行的混合经典 ASP + ASP.NET MVC 4 应用程序,我们已将其升级为使用 MVC 4。
ASP 应用程序通过虚拟目录附加到 .NET 应用程序。它们在同一个应用程序池中运行(如果重要的话)。这个特定的应用程序是一个管理控制面板,并使用基本身份验证:
在升级项目之前,当访问虚拟文件夹的 url 时,浏览器会显示一个登录提示,在这里我输入我的域限定用户名和密码。然后 ASP 代码通过 检索用户名Request.ServerVariables("AUTH_HEADER")
,将其与存储在数据库中的应用程序级权限列表进行比较,并基于此启用或禁用管理站点中的功能。
升级项目后,我仍然得到登录提示,但Request.ServerVariables("AUTH_USER")
返回一个空字符串。
我已将旧项目添加到新网站中,以便可以在同一台服务器上并行运行它们。旧代码继续有效。新代码拒绝。每个版本的 .NET 应用程序中的admin
虚拟目录指向磁盘上的相同物理位置,并且两个 .NET 应用程序中的文件夹的身份验证配置是相同的。
建议?请注意,MVC 4 应用程序使用的是 .NET 4 框架,而不是未安装在服务器上的 .NET 4.5。
请注意,尽管default domain
屏幕截图中的字段为空白,但已正确配置。出于明显的原因,我已将其从图像中删除。