【问题标题】:Asp.net Internet explorer prompts a credential windowAsp.net Internet Explorer 提示凭据窗口
【发布时间】:2009-09-16 21:53:14
【问题描述】:

我刚刚上传了一个项目到我的主机,是一个带有身份验证的 asp.net mvc 项目。 就在我进入网络时,Internet Explorer 会提示一个凭据窗口。如果我取消,网络正常工作。使用 Visual Studio 服务器,Web 也可​​以在本地正常工作。

更多信息:

选中“允许匿名访问”和“基本身份验证”,但显示提示是否选中了基本身份验证。

另外我上传了一个非常基本的mvc应用,带有身份验证,但没有显示提示,所以这似乎不是IIS配置问题。

同时提示在 Internet Explorer 和 firefox 中都显示,但不在 Chrome 中。

你有什么线索吗?

谢谢!

【问题讨论】:

    标签: asp.net asp.net-mvc credentials


    【解决方案1】:

    听起来您已将身份验证模式设置为 Windows?你能检查一下 Web.config 文件吗?如果您打算使用 Forms 身份验证,则应相应更改它

    【讨论】:

    • 不,我正在使用表单身份验证。
    【解决方案2】:

    很可能您需要在 IIS 配置管理器中允许匿名访问。即使您的 web.config 指定了表单身份验证(或身份验证设置为“无”),如果 IIS 设置为禁止匿名访问,那么 IIS 将在 ASP.Net 身份验证机制启动之前提示用户。

    编辑

    如果选中“允许匿名访问”并且还选中“Windows 身份验证”,我会看到此行为。

    这一切都在 IIS 管理器的网站属性中的“目录安全”任务下。

    【讨论】:

    • 我问过我的主机,他们说“允许匿名访问”已选中,但“Windows 身份验证”未选中。而是选中“基本身份验证”。我认为这是正确的......
    • “基本身份验证”仍会提示您输入凭据。
    • 就像我对 rick 说的那样:我的主机说 propmt 显示是否带有基本检查。而且我上传了一个很基础的mvc应用,带有认证,提示没有提示。
    【解决方案3】:

    请参阅以下有关 IIS 的信息:

    IIS 身份验证

    匿名

    匿名身份验证允许用户访问您网站的公共区域,而无需提示他们输入用户名或密码....

    基本(取消选中此项)

    IIS 使用 Windows 用户帐户实现基本身份验证,它是 HTTP 1.0 规范的一部分。使用基本身份验证时,浏览器会提示用户输入用户名和密码。然后,此信息通过 HTTP 传输,并使用 Base64 编码进行编码。尽管大多数 Web 服务器、代理服务器和 Web 浏览器都支持基本身份验证,但它本质上是不安全的。因为很容易解码 Base64 编码的数据,所以基本身份验证本质上是将密码以纯文本形式发送。

    http://msdn.microsoft.com/en-us/library/aa292114%28VS.71%29.aspx

    【讨论】:

    • 我的主机说,propmt 显示是否选中了基础。而且我上传了一个很基础的mvc应用,带有认证,提示没有提示。
    【解决方案4】:

    为此,只应在 IIS 中检查匿名访问。否则浏览器会尽可能地进行身份验证。

    【讨论】:

    • 我的主机说propmt是否显示基本选中。
    • 还有一些其他的:摘要、windows ...只有匿名必须检查
    • 我的主机说(我无法更改)说它仍然会发生,只检查匿名访问。
    • 接下来要检查的是表单身份验证的配置。它会将您发送到哪个文件/页面?然后检查该文件/页面的设置?
    【解决方案5】:

    如果您在网站上提供“静态内容”,则配置应用程序的默认 webroot 也需要这些设置。 (通常“匿名”作为唯一的复选框)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-27
      • 2011-10-28
      • 1970-01-01
      • 1970-01-01
      • 2012-01-25
      • 2021-08-26
      • 1970-01-01
      相关资源
      最近更新 更多