Аутентификация OpenAm

Я пытаюсь внедрить стороннюю аутентификацию с помощью openAM и сомневаюсь в реализации openAm, т.е. если мое приложение распространяется на разных серверах, которые географически разделены и контролируются одним и тем же DNS-именем. Как я могу различать сеансы разных серверов. Скажем, например, если я наберу www.google.com, он может перенаправить на любой из ближайших доступных серверов, теперь, если мне нужно аутентифицировать google.com, как мой openAm узнает, что запрос предназначен для этого конкретного сервера. Если я спрошу это по-другому, поэтому всякий раз, когда мы меняем политику в openam или аннулируем сеанс, он выполняет обратный вызов для всех зарегистрированных серверов, теперь в распределенной среде, как он может различать IP-адреса сервера.


person Phalguni    schedule 15.01.2014    source источник


Ответы (1)


Я предполагаю, что у вас есть какой-то LB перед вашими серверами. Я бы предложил создать фиксированную сессию в LB, например, файл cookie, сообщающий, на каком сервере находится пользователь, перед началом аутентификации. Затем, когда я выполнил аутентификацию, openam перенаправляет обратно на ваш LB, а LB направляет на правильный сервер.

person Stefan Rasmusson    schedule 15.01.2014
comment
в этом случае, если администратор аннулирует сеанс, как агент будет перезванивать, потому что openam не будет знать, для какого сервера этот сеанс находится за балансировщиком нагрузки - person Phalguni; 17.01.2014
comment
Итак, ваш вопрос. Если администратор в OpenAM аннулирует сеанс пользователя, как об этом будет уведомлен правильный сервер? Правильный? Агент на серверах будет проверять OpenAM по каждому запросу пользователя. Если сеанс openam был признан недействительным, агент снова перенаправит пользователя на страницу входа. - person Stefan Rasmusson; 21.01.2014