shambler
Новичок
Авторизация пользователя на нескольких доменах одновременно - как реализовать?
Возникла такая проблема - есть 2 разных сайта (на разных доменах), которые работают на одном движке с общей базой и пр. Необходимо чтоб пользователь, который авторизировался на одном из сайтов, при переходе на другой также оказывался авторизированным.
В процессе разработки все выглядело так:
1. Домены site1.domain.com, site2.domain.com.
2. На сайте site1.domain.com была ссылка типа site2.domain.com?PHPSESSID=... , в которой передавался ид сессии.
3. Пользователь, переходивший по этой ссылке, юзал одну и ту же сессию (типа - куки нет, пхп хватает get и стартует ту же сессию)
Все работало на ура. Но после переноса сайтов на разные домены все сломалось
( Теперь схема выглядит так:
1. Домены domain1.com, domain2.com.
2. ссылка осталась
3. Авторизированный пользователь переходит на другой сайт и остается авторизированным (!), но только на первой странице!!! При переходе на любую другую страницу сайта ид сессии изменяется. Почему?
Доп. Информация:
1. Пользователь с сайта domain1.com переходит на domain2.com. При этом: а) на первой странице он юзает ту же сессию, что и на первом сайте б) выставляется кука с ид сессии в) PHPSESSID не добавляется к ссылкам.
2. На сервере разработки и реальном сервере разные настройки пхп:
а) разработка (там, где механизм работал) - session.use_trans_sid = off; session.bug_compat_42 = off;
б) реальный (там где он не работает) session.use_trans_sid = on; session.bug_compat_42 = on;
При необходимости могу написать все остальные настройки.
Вопросы такие - почему при разработке работало, а сейчас - нет? Что сделать, чтоб механизм заработал?
Возникла такая проблема - есть 2 разных сайта (на разных доменах), которые работают на одном движке с общей базой и пр. Необходимо чтоб пользователь, который авторизировался на одном из сайтов, при переходе на другой также оказывался авторизированным.
В процессе разработки все выглядело так:
1. Домены site1.domain.com, site2.domain.com.
2. На сайте site1.domain.com была ссылка типа site2.domain.com?PHPSESSID=... , в которой передавался ид сессии.
3. Пользователь, переходивший по этой ссылке, юзал одну и ту же сессию (типа - куки нет, пхп хватает get и стартует ту же сессию)
Все работало на ура. Но после переноса сайтов на разные домены все сломалось

1. Домены domain1.com, domain2.com.
2. ссылка осталась
3. Авторизированный пользователь переходит на другой сайт и остается авторизированным (!), но только на первой странице!!! При переходе на любую другую страницу сайта ид сессии изменяется. Почему?
Доп. Информация:
1. Пользователь с сайта domain1.com переходит на domain2.com. При этом: а) на первой странице он юзает ту же сессию, что и на первом сайте б) выставляется кука с ид сессии в) PHPSESSID не добавляется к ссылкам.
2. На сервере разработки и реальном сервере разные настройки пхп:
а) разработка (там, где механизм работал) - session.use_trans_sid = off; session.bug_compat_42 = off;
б) реальный (там где он не работает) session.use_trans_sid = on; session.bug_compat_42 = on;
При необходимости могу написать все остальные настройки.
Вопросы такие - почему при разработке работало, а сейчас - нет? Что сделать, чтоб механизм заработал?