Shibboleth IDP в кластере

Можно ли распространять «loginContexts» (что похоже на кратковременный сеанс, поэтому некоторая информация из первого запроса будет по-прежнему доступна в следующем запросе, пока вход в систему не будет успешным — файл cookie «_idp_authn_lc_key») внутри кластера??

Мы используем Redis для хранения информации о сеансе, переопределяя StorageService Shibboleth. Во многих ответах на форуме говорится, что это возможно только с липкими сеансами и локальным сохранением loginContext.

Есть ли способ сохранить loginContexts в кластере без использования липких сеансов. В настоящее время мы получаем ошибку «Нет доступного контекста входа» в одном из файлов tomcat.

Наш поток запросов - Akamai - Серверы Apache (кластер) - Серверы Tomcat (кластер)

Примечание. Файл cookie _idp_session (долгоживущий сеанс) работает нормально,


person Bharathkumar K.R.    schedule 22.06.2015    source источник


Ответы (1)


Вот так. Контекст входа хранится через API, который нельзя экспортировать в такие решения, как EHCache, memcached или Redis. Вам нужно использовать липкие сессии.

Сеанс, который получает пользователь, доступен, и обычно это то, что распределяется между узлами кластера.

... если ваш балансировщик нагрузки не поддерживает фиксированные сеансы, вы можете получить некоторый пробег (очень непроверенный), используя обратный прокси-уровень перед вашим IdP, который просматривает файл cookie сеанса контекста входа в систему, определяет, какой узел это был для/от и перешлите его туда. Я предполагаю, что что-то вроде HAProxy или Nginx может сделать это. Вместо того, чтобы пытаться анализировать файл cookie сеанса контекста входа в систему, вы можете вместо этого сделать собственную вставку файла cookie для вашего балансировщика нагрузки второго уровня.

Наконец, вы также можете просто рассмотреть возможность создания кластера высокой доступности и использовать Active/Passive с плавающим IP-адресом.

Рад слышать, что вы используете REDIS для этого, так как мне нужно пересмотреть, как я собираюсь кластеризовать IdP для выхода из системы.

person Cameron Kerr    schedule 29.07.2015