Тайм-аут общего сеанса в сценарии EAI + sso - PullRequest
1 голос
/ 10 февраля 2012

При использовании единого входа для интеграции между разнородными «веб-приложениями» пользователь может переключаться между этими приложениями.Когда пользователь перемещается между этими приложениями, локальный сеанс создается для каждого из приложений в дополнение к сеансу, созданному в Identity Provider, который используется для sso.

Итак, проблема в том, что приложения имеют разные тайм-ауты сеанса, что приводит к нарушению взаимодействия с пользователем.Тайм-аут сеанса происходит в одном приложении, пока пользователь работает в другом приложении.При переходе обратно в приложение, которое пользователь посещал ранее, возникает ошибка.Это сбивает с толку пользователей, поскольку они не знают, что работают над различными приложениями.

Один из способов избежать этой проблемы - иметь объект «глобального сеанса», к которому имеет доступ каждое приложение.Пока пользователь обращается к любому защищенному ресурсу, приложение проверяет, существует ли глобальный сеанс, и обновляет свою временную метку перед обработкой запроса.Локальные сеансы никогда не истекают (или имеют очень длительный тайм-аут).Однако, когда пользователь выходит из системы, глобальный объект сеанса удаляется, и выход происходит во всех приложениях.

Это кажется немного сложным из-за:

  • Глобальный объект сеанса становится единственной точкой отказа
  • Производительность для «вне процесса»проверять глобальный объект сеанса и обновлять временную метку при доступе каждый защищенный запрос

Любые другие мысли о том, как заставить это работать?

1 Ответ

0 голосов
/ 14 февраля 2012
When navigating back into the application the user had 
visited previously, an error occurs.

Не думаю, что это будет ошибкой. Приложение перенаправит запрос поставщику единого входа, и, поскольку у пользователя уже есть действительный сеанс единого входа, это будет успешной операцией единого входа, и приложение сможет восстановить новый сеанс с истекшим сроком действия.

...