Почему мой логин Rails не проходит аутентификацию при запуске из iframe? - PullRequest
0 голосов
/ 06 мая 2011

Я пытаюсь интегрировать свое Rails-приложение в другое приложение, используя технику «iframe».

У хостинг-приложения есть такой iframe:

<iframe src="http://10.0.0.106:3000/" width="800" height="500">
</iframe>

Этот фрейм получает и отображает страницу входа, что в порядке. Но когда я ввожу имя пользователя и пароль для входа в систему, кажется, что аутентификация не проходит, и мне снова предлагается войти в систему. Обратите внимание, что нормальное сообщение «Неверное имя пользователя / пароль» не появляется (как это делается, когда я даю неправильный логин пароля) Форма входа отображается так, как если бы я впервые ее посещал.

Любая подсказка?

Ответы [ 3 ]

0 голосов
/ 06 мая 2011

"Да. Он подается из другого домена."- Комментарий выше.

Причина, по которой вы не получаете сообщение об ошибке, заключается в том, что аутентификация не проходит.Сохраняемый файл cookie предназначен для 10.0.0.106: 3000, а не для вашего текущего приложения.Я бы не использовал iframe для обработки аутентификации.(Почему ты так делаешь?)

0 голосов
/ 06 мая 2011

Если токен CSRF включен на страницу, единственная проблема, с которой вам следует столкнуться при работе с iframes, это странность IE:

http://www.sympact.net/2008/07/rails-and-ifram.html

0 голосов
/ 06 мая 2011

Служит ли iframe с другого домена?Вероятно, это функция безопасности.

Вы можете отключить функцию безопасности (возможно, это плохая идея) или попробовать другие методы аутентификации.

...