OPENAM - amService-UrlAccessAgent Вход несколько раз
В нашем развертывании у нас есть 3 экземпляра OpenAM за LoadBalancer, липкость основана на IP-адресах, так что пользователи всегда попадают на один и тот же сервер.
Моя проблема заключается в том, что максимальное количество одновременных сеансов достигается на каждом сервере всего за один день рабочей нагрузки.
Когда я проанализировал журнал аудита amSSO, я обнаружил, что мой веб-агент (amService-UrlAccessAgent) часто открывает сеансы (более 20 сеансов в минуту), и эти сеансы никогда не уничтожаются (все они работают долго:)).
Можете ли вы помочь мне интерпретировать это поведение? Разве amService-UrlAccessAgent не должен входить в систему один раз?
Заранее спасибо.
2 ответа
Я думаю, что у меня есть решение. когда я начал немного копать в коде OpenAm и в коде агента, я обнаружил следующее
if ((isApplicationModule(authMethName) &&
(ad.isSuperUser(userDN) || ad.**isSpecialUser**(userDN)))
|| isAgent(amIdentityUser))
if (isAgent(amIdentityUser) && agentSessionIdleTime > 0) {
....
session.setMaxSessionTime(Long.MAX_VALUE/60);
session.setMaxIdleTime(agentSessionIdleTime);
session.setMaxCachingTime(agentSessionIdleTime);
} else {
session.setExpire(false);
}
и когда вы посмотрели чуть раньше, вы обнаружили, что значение agentSessionIdleTime равно 0, если свойство com.iplanet.am.session.agentsessionidletim не настроено.
для интерпретации значения этого свойства перейдите по этой ссылке: время ожидания сеансов агента политики
Спасибо Петру за вашу помощь. Я скоро скажу Вам, хорошо ли это работает в нашей производственной системе.
В вашем описании есть пара интересных вещей:
- Если вы используете веб-агент, то зачем использовать его с amService-UrlAccessAgent? Вы должны создать профиль веб-агента для своего агента и использовать эту учетную запись.
- Не ясно, какой веб-сервер вы используете, поэтому я предполагаю, что это Apache. В этом случае убедитесь, что вы НЕ используете режим prefork, рекомендуемый mpm - рабочий, так как в целом он требует гораздо меньшего входа в систему для агента. Тем не менее, насколько я знаю, агент всегда выходит из системы после смерти дочернего процесса.
- Вы также можете попробовать использовать более новую версию веб-агента или даже каждую ночь, если эта проблема повторяется.