У меня небольшая проблема. Я разрабатываю приложение на PHP, которое делится на модули. Каждый модуль полностью независим, находится на отдельном сервере и имеет собственный домен. например:
www.moduloprincipal.com.br, www.modulo2.com.br, www.modulo3.com.br и т. д.
Проблема в том, что мне нужно, чтобы пользователь, прошедший аутентификацию одного из модулей (либо), мог получить доступ к тому же самому пользователю других модулей без повторной проверки подлинности.
В настоящее время каждое приложение находится на другом сервере, но при необходимости они находятся на одном сервере, это не будет проблемой.
ВАЖНЫЙ:
Прочитайте несколько потоков, но не нашли решения действительно безопасным. Будет интересно использовать OAuth?
В настоящее время приложение использует $ _SESSION для аутентификации пользователей, но вы можете использовать $ _COOKIE плавно.
Я использую CodeIgniter
Перевод с помощью Google Translate. Извини …
Два варианта с головы, которые вы можете исследовать:
Установите для всех серверов один и тот же путь для сохранения данных сеанса, см. Директиву session.save_path . Это местоположение может быть общим ресурсом NFS или местоположением NAS, доступным для всех ваших серверов.
Другой вариант – реализовать обработчик сеанса базы данных , поэтому данные сеанса могут быть разделены между всеми вашими серверами, обращающимися к одному серверу базы данных. Поэтому ознакомьтесь с документами PHP для пользовательских обработчиков сеансов .