Для локального хоста сервера: 3000 в приложении требуются имя пользователя и пароль

#ruby-on-rails #ubuntu

#ruby-on-rails #ubuntu

Вопрос:

Я разрабатываю приложение Rails 3 на Ubuntu 11.04, и при попытке выполнить запрос ajax post я получаю следующее диалоговое окно браузера.

Для локального хоста сервера: 3000 в приложении требуются имя пользователя и пароль

Все остальные страницы загружаются нормально. Это происходит просто при выполнении вызова ajax. Я использую Mongrel для сервера разработки rails.

Есть идеи о том, как решить эту проблему, чтобы диалоговое окно не отображалось?

Комментарии:

1. Есть ли у вас система аутентификации на месте? Есть ли что-нибудь в application.rb, из-за чего ваше приложение может действовать подобным образом? Возможно, это обратный вызов ajax, который запускается из application.js или какой-то файл js.erb ?

2. Да, я использую Devise, но пользователь уже прошел аутентификацию.

Ответ №1:

У меня была такая же проблема при использовании Devise gem для перенаправления пользователя, не прошедшего проверку подлинности, на действие входа в систему.

Об этой проблеме сообщалось только от некоторых пользователей Internet Explorer. Я полагаю, что IE пытается автоматически обработать аутентификацию, показывая диалоговое окно.

Решение состояло в том, чтобы попросить пользователей получить доступ к URL-адресу входа вместо URL-адреса приложения.

Например, вместо доступа к URL http://www.myapp.com /, попросите пользователя получить доступ к URL http://www.myapp.com/login .

Дайте мне знать, если это помогло!

Комментарии:

1. К сожалению, это не мой случай, поскольку пользователь уже вошел в систему.

Ответ №2:

Оказывается, проблема была вызвана исправлением безопасности, введенным в rails 3.0.4. (Больше информации здесь)

Все, что мне нужно было сделать, это обновить пакет jquery-rails, а затем запустить rails generate jquery:install