Сессия не проходит через домен - PullRequest
1 голос
/ 12 февраля 2009

В моем приложении rails, когда я захожу по адресу www.site.com, я захожу очень хорошо. Хотя, не выходя из системы, я захожу на сайт, http://site.com Я вышел из системы, но все равно вошел в систему по адресу www.site.com, если вернусь.

Я не могу найти что-либо для установки в переменных среды, есть идеи относительно того, как сохранить этот сеанс во всех доменах моего домена?

Ответы [ 5 ]

5 голосов
/ 12 февраля 2009

Установите сессионный cookie правильно; то есть для .site.com и site.com, а не только для www.site.com.

2 голосов
/ 04 марта 2009

Когда вы устанавливаете файл cookie сеанса для «site.com», он будет отличаться от «www.site.com». Вам необходимо указать «cookie_domain» как «.site.com», который будет устанавливать cookie или все субдомены. В PHP вы можете использовать ini_set или session_set_cookie_params для установки session.cookie_domain . В Rails вы можете добавить небольшой скрипт в enviroment.rb - что-то вроде:

ActionController::Base.session_options[:session_domain] = '.site.com'

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

Это больше, чем вы когда-либо хотели бы знать по теме .

0 голосов
/ 11 июня 2009

В рельсах 2.3 это было изменено на:

config.action_controller.session[:domain] = '.example.com'

или, если переменная сеанса еще не создана

config.action_controller.session = {:domain => '.example.com'}

См. Потеря сеанса в приложении rails 2.3.2 с использованием субдомена

0 голосов
/ 13 февраля 2009

Вы должны перенаправить www.site.com на site.com (или наоборот). Если вы этого не сделаете, Google может подумать, что это два разных сайта.

0 голосов
/ 12 февраля 2009

так как они псевдоним www. к.; не могли бы вы просто предварять www. на.?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...