![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| starmaster |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 29.3.2004 Репутация: нет Всего: нет |
Здравствуйте,
Есть такой вопрос: как лучше всего реализовать авторизацию с одного домена на другой и чтобы после авторизации меня перекидывало на этот другой домен авторизированным. К примеру, на первом домене (одного сервера) расположен форум, а на другом домене (того же сервера) расположен чат, так вот, надо чтобы при авторизации на форуме, человек автоматически авторизировался в чате. То есть и чат и форум используют одни данные для авторизации, но чтобы пользователю не надо было два раза вводить одну и ту же информацию, хорошо бы было сделать, чтобы при нажатии на кнопку "чат" на форуме, пользователь автоматически попадал в чат. Авторизировать его легко с помощью cURL или сокетов, но как сделать чтобы он попадал на страничку чата авторизованным? Как это лучше реализовать? |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Есть только один способ. Вызвать (отправить ему запрос) удаленно скрипт с другого хоста, передать ему POST данные с авторизации первого, второй скрипт авторизует пользователя у себя и ставит ему свои куки. Только так.
|
|||
|
||||
| Eugene_Bond |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 3.9.2006 Репутация: 1 Всего: 4 |
1. Глобальный
http://xpoint.ru/know-how/VebAlgoritmyi/Me...yaAvtorizatsiya По мотивам этих размышлений можно попробовать создать свою реализацию 2. Более простой, но ограниченный Если все работает в пределах одного сервера (точнее даже не веб-сервера, а имеет доступ к одному серверу БД) -- достаточно хранить сессии в базе и передать ид сессии в урле при переходе с форума в чат. |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
||||
|
||||
| Eugene_Bond |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 3.9.2006 Репутация: 1 Всего: 4 |
||||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Я боюсь, что по этому ID скрипт не сможет открыть сессю с форума, если, конечно, механизм сессий полностью не реализован через БД...
|
|||
|
||||
| Eugene_Bond |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 3.9.2006 Репутация: 1 Всего: 4 |
Mal Hack,
Сможет открыть при любой организации общего хранилища сессий. Например: 1. В общей БД (при хранении в БД) 2. В общей директории (при стандартном хранении в файлах) У каждого метода свои недостатки и сложности. В первом -- необходимость блокировки при обновлении данных. Поскольку, чаще всего для веб-разработок с использованием PHP, говорим БД -- подразумеваем MySQL, сталкиваемся с невозможностью блокировать отдельно взятую запись в базе. Только таблицу целиком. При большой нагрузке это будет сказываться на производительности. Тот же PostgreSQL, к примеру, позволяет блокировать только запись (впрочем, и отдельное поле). А чат, это как раз тот случай, когда будет частое сохранение сессионных данных. Во втором -- если речь идет об обычном Shared хостинге, у хоста форума просто может не быть прав на доступ к директориям хоста чата (и наоборот). Это в случае, если tmp для хоста лежит в его хоум директории. И не факт что хватит прав даже в случае хранения сессионных файлов в общей tmp директории сервера. В любом случае это вопрос конфигурации сервера. Если сервер свой -- проблем возникнуть не должно. В свое время, когда один из проектов был сбаллансирован на несколько серверов, сессии лежали в общей примонтированной директории и все это прекрасно работало. Правда потом, в силу ряда причин, сессии все равно переехали в БД |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
||||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |