Этот немного хитер. Так как cookie могут только быть присвоены (и получены от) текущий домен ("forms.example.com", скажите), и породите домены (".example.com", но не ".com"), но НЕ к другим доменам ("othersite.com"), необходимо будет найти себя другим решением. Это не имеет никакого отношения к направляющим, но с тем, как работают cookie.
РЕДАКТИРОВАНИЕ: Сессии полагаются на определенный для клиента дескриптор, сохраненный в cookie, который является, почему сессии также не работают междоменные.
Этот сайт имеет одно возможное решение для создания междоменного cookie, и это - самый чистый способ, о котором я знаю, хотя это может иметь некоторые последствия безопасности. Более сложная версия имела бы серверы, связываются непосредственно через некоторый безопасный канал.
при поиске сервиса единственного входа в систему более общего назначения попытайтесь реализовать некоторую форму OpenID.
Вам, вероятно, будет нужно что-то как RubyCAS, если Вы захотите аутентификацию через домены независимо от того, являются ли они верхним уровнем или субдоменами.
Ваш вопрос не достаточно действительно точен, по моему скромному мнению. Вы хотите единственный cookie для всех приложений для направляющих, которые Вы имеете, или это в контексте единственного? Если первый, Вы хотите посмотреть на решения с помощью поддержанных базой данных сессий или чего-то вдоль строки RubyCAS для реализации протокол CAS .
И Keltia, и zuk правы. Ответ - rubyCAS. У нас есть такая интеграция, и она позволяет
SSI - Single sign -in Вы входите на один сайт и автоматически входите на другой
SSO - Single Sign Out You sign out from one site and automatically you signed out from the other
For us this is a proven solution and not a hard one to implement
we are using it in http://www.cabslk.com and www.ticketslk.com
cheers, Sameera
Для субдоменов в Rails 2.3
ActionController::Base.session = { :domain => ".mydomain.com" }
Для доменов верхнего уровня попробуйте это промежуточное ПО .
В настоящий момент я играл с вышеуказанным промежуточным программным обеспечением, и оно работает не совсем так, как ожидалось. Если вы все же используете промежуточное ПО, вам не нужен приведенный выше код, так как он также обрабатывает поддомены.