#ruby-on-rails-3 #iframe #devise
#ruby-on-rails-3 #iframe #разработка
Вопрос:
Я не вижу никаких сообщений об ошибках в файле журнала, и на экране нет сообщения. Вход в мое приложение Rails 3, поскольку оно отображается в iframe с другого сайта, приводит к возврату на основной сайт без входа пользователя в систему.
Похоже, что приложение Rails не распознает cookie через iframe. Кто-нибудь еще сталкивался с этой проблемой? Куда я мог бы пойти, чтобы узнать, в чем ошибка?
Пожалуйста, обратите внимание, что это происходит только в IE версии 8 (возможно, это происходит в 7 и 6, еще не тестировал).
Комментарии:
1. Я бы рекомендовал использовать всплывающее окно или отдельный экран. Смотрите мой комментарий ниже.
Ответ №1:
Джеймс прав, IE имеет некоторую защиту, предотвращающую создание iFrames файлов cookie. Это легко исправить, просто включите следующий заголовок ответа в свой контроллер:
response.headers['P3P'] = 'CP="NON DSP COR CURa IVAa IVDa CONa OUR NOR STA"'
Ответ №2:
У меня были похожие проблемы с IE 6 и 7 и с разработкой с iframes. Насколько я понимаю, это как-то связано с тем, что сеансы не передаются через iframes в IE. Согласно тому, что я смог найти, IE предотвращает это в целях безопасности.
Я не уверен, почему это кажется проблемой безопасности только в IE, а не в других браузерах.
Комментарии:
1. Да, это «функция» безопасности, и она, скорее всего, повлияет на IE 7/8, но не на IE 6. В прошлом я делал некоторые действительно сумасшедшие вещи, чтобы обойти это для других целей.