При использовании единого входа для интеграции между разнородными «веб-приложениями» пользователь может переключаться между этими приложениями.Когда пользователь перемещается между этими приложениями, локальный сеанс создается для каждого из приложений в дополнение к сеансу, созданному в Identity Provider, который используется для sso.
Итак, проблема в том, что приложения имеют разные тайм-ауты сеанса, что приводит к нарушению взаимодействия с пользователем.Тайм-аут сеанса происходит в одном приложении, пока пользователь работает в другом приложении.При переходе обратно в приложение, которое пользователь посещал ранее, возникает ошибка.Это сбивает с толку пользователей, поскольку они не знают, что работают над различными приложениями.
Один из способов избежать этой проблемы - иметь объект «глобального сеанса», к которому имеет доступ каждое приложение.Пока пользователь обращается к любому защищенному ресурсу, приложение проверяет, существует ли глобальный сеанс, и обновляет свою временную метку перед обработкой запроса.Локальные сеансы никогда не истекают (или имеют очень длительный тайм-аут).Однако, когда пользователь выходит из системы, глобальный объект сеанса удаляется, и выход происходит во всех приложениях.
Это кажется немного сложным из-за:
- Глобальный объект сеанса становится единственной точкой отказа
- Производительность для «вне процесса»проверять глобальный объект сеанса и обновлять временную метку при доступе каждый защищенный запрос
Любые другие мысли о том, как заставить это работать?