【问题标题】:The server localhost:3000 at Application requires a username and passwordApplication 的服务器 localhost:3000 需要用户名和密码
【发布时间】:2011-05-21 19:31:32
【问题描述】:

我正在 Ubuntu 11.04 上开发 Rails 3 应用程序,当我尝试执行 ajax 发布请求时出现以下浏览器对话框。

Application 的服务器 localhost:3000 需要用户名和密码

所有其他页面加载正常。它只是在执行 ajax 调用时发生。我将 Mongrel 用于 Rails 开发服务器。

关于如何解决此问题以使对话框不会出现的任何想法?

【问题讨论】:

  • 您有身份验证系统吗? application.rb 中是否有任何内容可能导致您的应用程序像这样运行?这可能是从 application.js 或某些 js.erb 文件触发的 ajax 回调吗?
  • 是的,我正在使用 Devise,但用户已经通过身份验证。

标签: ruby-on-rails ubuntu


【解决方案1】:

我在使用 Devise gem 将未经身份验证的用户重定向到登录操作时遇到了同样的问题。

此问题仅由部分 Internet Explorer 用户报告。我相信 IE 会尝试自动处理身份验证并显示一个对话框。

解决方案是让用户访问登录 url 而不是应用程序 url。

例如,不是访问 url http://www.myapp.com/,而是要求用户访问 url http://www.myapp.com/login。

如果有帮助请告诉我!

【讨论】:

  • 不幸的是,这不是我的情况,因为用户已经登录。
【解决方案2】:

原来问题是由 rails 3.0.4 中引入的安全补丁引起的。 (More info here)

我需要做的就是bundle update jquery-rails,然后运行rails generate jquery:install

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-02
    • 2012-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-13
    • 1970-01-01
    • 2011-05-24
    相关资源
    最近更新 更多