我已将网站部署到带有 IIS7 的 Win 2008 Web 服务器。该站点在带有 IIS6 的 Win 2003 标准服务器上运行良好。在 2008 框中,每当我从名为 Reports 的文件夹中请求页面(htm 或 aspx)时,都会遇到 Windows 身份验证对话框的挑战。
我在网站上启用了匿名身份验证和表单身份验证。我对 NETWORK SERVICE 和 IIS_IUSRS 的站点根目录应用了完全控制权限,但这并没有什么不同。
我已将网站部署到带有 IIS7 的 Win 2008 Web 服务器。该站点在带有 IIS6 的 Win 2003 标准服务器上运行良好。在 2008 框中,每当我从名为 Reports 的文件夹中请求页面(htm 或 aspx)时,都会遇到 Windows 身份验证对话框的挑战。
我在网站上启用了匿名身份验证和表单身份验证。我对 NETWORK SERVICE 和 IIS_IUSRS 的站点根目录应用了完全控制权限,但这并没有什么不同。
就像之前已经提到的帖子一样,这里是解决这个问题的详细步骤:)
如果应用程序中有一个名为“Reports”的文件夹,并且服务器上安装了 SQL Server Reporting Services,则同样名为“Reports”的 Reporting Services 虚拟目录文件夹将与应用程序“Reports”文件夹发生冲突。要解决此问题,请打开 Reporting Services 配置管理器(开始->所有程序->MS SQL Server->配置工具)并更改左侧菜单中“报表管理器 URL”下的虚拟目录。
您是否在新机器上安装了 MSSQL Reporting Services?它将使用 Reports 文件夹作为报告工具包(默认设置),并且在 MSSQL 2008 下,您不能开箱即用地启用匿名访问。
我假设您没有在同一台服务器上运行 SQL Reporting Services:
1 - 授予用户“IUSR”和运行您的应用程序池的用户权限。2 - 覆盖子文件夹权限和所有权。2 - 检查该文件夹中是否有设置不同访问规则的 web.config 文件。
好吧,在这里谈到同样的主题,昨天我在 Windows Server 2008 上部署我的应用程序,在那里也运行 IIS7 w/MSSQL 2008。在我网站的树结构中,我有一个名为 Reports 的文件夹,其中有一个子文件夹,然后是实际页面。它看起来像这样“Reports/SalaryReports/SalaryReport.aspx” 有趣的是,当我单击一个超链接转到“Reports/SalaryReports/SalaryReport.aspx”时,我从服务器收到了用户名/密码提示。当我在开发机器上运行应用程序时,VS 开发服务器上没有发生这种情况。所以我就像嗯?我查看了 SalaryReport.aspx 中的代码隐藏,没有发现任何异常。所以我放了一个默认值。aspx 直接在 Reports 文件夹中(认为身份验证从根向下两个节点到达 SalaryReport.aspx 可能有问题),但服务器仍然请求用户名/密码,即使没有安全设置应用于这个新的默认值.aspx。所以我想一定是文件夹被命名为“Reports”,所以我将它重命名为“Reports1”和bigno!一切正常!....我今天仍然会进一步研究这个问题,但似乎 IIS 7 HttpModule(不是我的一个)正在尝试为自己“保留”名为“Reports”的文件夹或其他东西否则...我将研究上面提到的 SQL Server 报告服务...无论如何,只是想分享:) aspx),但服务器仍然请求用户名/密码,即使没有应用到这个新的 Default.aspx 的安全设置。所以我想一定是文件夹被命名为“Reports”,所以我将它重命名为“Reports1”和bigno!一切正常!....我今天仍然会进一步研究这个问题,但似乎 IIS 7 HttpModule(不是我的一个)正在尝试为自己“保留”名为“Reports”的文件夹或其他东西否则...我将研究上面提到的 SQL Server 报告服务...无论如何,只是想分享:) aspx),但服务器仍然请求用户名/密码,即使没有应用到这个新的 Default.aspx 的安全设置。所以我想一定是文件夹被命名为“Reports”,所以我将它重命名为“Reports1”和bigno!一切正常!....我今天仍然会进一步研究这个问题,但似乎 IIS 7 HttpModule(不是我的一个)正在尝试为自己“保留”名为“Reports”的文件夹或其他东西否则...我将研究上面提到的 SQL Server 报告服务...无论如何,只是想分享:)
引用另一个论坛为我解决了这个问题:“如果您在 IIS 上安装 SQL Server Reporting Services,默认情况下会创建一个名为 Reports 的文件夹。如果您安装 SQL 2008,则 Reporting Services 不需要使用 IIS,而是会尝试使用 HTTP.Sys 服务保留 URL。
我相信这是您所看到的冲突的原因。您可以尝试通过 SQL Server Reporting Services 配置管理器更改 Reporting Services 使用的 URL。”
您的 web.config 中的身份验证模式是什么,请确认不在 Windows 中
<authentication mode="Windows" />
还要确保在 iis 中禁用集成 Windows 身份验证
您可以尝试从 SysInternals 运行 FileMon,以查看是否是文件系统发送回“拒绝访问”。