gpt4 book ai didi

asp.net-mvc - IIS 7.5 提示输入用户名和密码

转载 作者:行者123 更新时间:2023-12-04 06:41:08 24 4
gpt4 key购买 nike

我们的应用程序配置为使用表单例份验证,并且在大多数机器上运行良好。但是,我在我们的一个开发人员工作站上的开发环境遇到了问题。当我转到应用程序的 URL 之一时,如下所示:

http://iweb.local/reports/

IIS 提示我输入密码,如下所示:

IIS prompts for a username and password

(名称 iweb.local 在 hosts 文件中设置为指向 127.0.0.1。本质上它是 localhost 的别名。我们将 IIS 站点配置为使用主机 header ,以便我们将来可能支持多个应用程序.)

如果我转到应用程序中的大多数其他 URL,例如 http://iweb.local/,则不会提示我输入密码。 .而且我不会在任何其他开发人员机器上使用完全相同的代码库提示我输入密码。只有这台机器有问题。这使我有理由相信这不是编码问题。

我尝试过的事情:

  • 使用不同的 Web 浏览器进行测试。在出现问题的机器上,无论我使用什么浏览器都会出现问题。我在 FireFox 和 IE9 中得到相同的提示。
  • 在其他开发人员机器上测试。问题不会发生在那些身上。它只发生在单个开发人员框中。
  • ~/Areas/Reports 复制代码和 Assets 进入 ~/Areas/ReportsTest ,使用适当的重构,并加载 http://iweb.local/reportstest/ .那个有效;浏览器不再提示输入用户名和密码。但是,更改 URL 不是我们应用程序的选项。
  • 检查 IIS 身份验证配置。匿名身份验证和表单例份验证已启用。其他一切都被禁用。这在所有开发人员机器上都是相同的,包括工作的和不工作的。
  • 检查事件日志。 IIS 没有将任何内容记录到事件日志中。
  • 检查 IIS 日志。日志包含成功请求的条目(例如当我打开 http://iweb.local 时),但它不会为提示用户输入密码的任何请求记录任何内容。
  • 使用 FireBug 检查请求和响应 header 。对于对任一 URL 的请求,请求 header 似乎相同。 http://iweb.local/reports 的响应头WWW-Authenticate 有两个选项:NegotiateNTLM .由此,我已经确认 IIS 正在指示浏览器提示输入密码。但我并没有更接近于理解为什么。
  • 关闭 IIS,将万维网发布服务设置为手动启动类型,使其不会自动启动,然后重新启动计算机。然后我检查了是否有 http://iweb.localhttp://iweb.local/reports/正在响应请求。两者都没有,确认是 IIS 正在处理请求。
  • 停止 IIS,从开发人员的硬盘驱动器中删除整个项目,并从源代码管理中检索它。我的想法是,这可能是其中一个文件夹的权限问题(尽管我不明白这是怎么回事,因为这是一个 MVC 应用程序)并且通过此过程将确保所有文件夹都具有正确的权限。但这并没有改变任何事情。
  • 彻底卸载IIS,重启电脑,重新安装IIS。这也不起作用。

  • 我没有想法。我在这个开发人员盒子上找不到任何配置与其他开发人员盒子不同的东西。

    所以: 有谁知道一种方法可以启用更深层次的日志记录或跟踪,以找出 IIS 要求输入密码的原因?任何人都可以想到可能导致我尚未寻找的任何原因吗?

    这是一个在 64 位环境中运行在 IIS 7.5 上的 ASP.NET MVC 3 应用程序。 reports URL 的一部分被配置为 MVC 区域。

    更新

    在我的 Web.config 文件中,这是在违规机器上设置身份验证模式的方式。
    <authentication mode="Forms">
    <forms loginUrl="~/account/login" timeout="2880" />
    </authentication>

    没有 <authentication> Web.config 文件中报告区域的元素。

    最佳答案

    如果应用程序中有一个名为“Reports”的文件夹,并且服务器上安装了 SQL Server Reporting Services,则同样名为“Reports”的 Reporting Services 虚拟目录文件夹将与应用程序“Reports”文件夹发生冲突。要修复此问题,请打开 Reporting Services 配置管理器(开始->所有程序->MS SQL Server->配置工具-> Reporting Services 配置管理器)并将虚拟目录从“Reports”更改为任何其他名称(“TestReports”)下的左侧菜单中的“报告管理器 URL”。

    这将解决IIS身份验证问题

    关于asp.net-mvc - IIS 7.5 提示输入用户名和密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15257880/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com