Поделитесь СЕССИЕЙ на нескольких серверах с разными доменами

У меня небольшая проблема. Я разрабатываю приложение на PHP, которое делится на модули. Каждый модуль полностью независим, находится на отдельном сервере и имеет собственный домен. например:

www.moduloprincipal.com.br, www.modulo2.com.br, www.modulo3.com.br и т.д.

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

В настоящее время каждое приложение находится на другом сервере, но при необходимости они находятся на одном сервере, это не проблема.

ВАЖНО:

  • Прочитайте несколько потоков, но не нашел безопасного решения. Будет интересно использовать OAuth?

  • В настоящее время приложение использует $_SESSION для аутентификации пользователей, но вы можете использовать $_COOKIE плавно.

  • Я использую CodeIgniter

Перевод Google Translate. Извините...

+7
источник поделиться
1 ответ

Два варианта верхней части головы, которые вы можете изучить:

  • Установите для всех серверов один и тот же путь для сохранения своих данных сеанса, см. session.save_path. Это местоположение может быть общим для NFS или NAS, доступ к которым могут получить все ваши серверы.

  • Другой вариант - реализовать обработчик сеанса базы данных, поэтому данные сеанса могут быть разделены между всеми ваши серверы получают доступ к одному серверу базы данных. Итак, взгляните на PHP-документы для настраиваемых обработчиков сеансов.

+9
источник

Посмотрите другие вопросы по меткам или Задайте вопрос