ITfoxtec SAML с веб-серверами с балансировкой нагрузки

Мы используем библиотеку ITfoxtec.Identity.Saml2 для аутентификации в нашей службе единого входа.

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

Я попытался установить isPersistent= true, когда мы создаем сеанс, но это никак не повлияло. Я видел похожие проблемы, связанные с хранением состояния SAML в веб-ферме, с предложениями от:

Изменение конфигурации так, чтобы все серверы в веб-ферме использовали один и тот же ключ компьютера. Создание того, что составляет службу состояний для хранения аутентификации.

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

Любые предложения о том, как атаковать это?

1 ответ

Используя ITfoxtec.Identity.Saml2.Mvc и ASP.NET MVC isPersitent это параметр на CreateSession метод. Метод CreateSession, используемый в примере приложения ASP.NET.

Метод вызывается после того, как ответ SAML 2.0 принят для создания файла cookie идентификации пользователя, обрабатываемого SessionAuthenticationModule,

По умолчанию куки идентификации пользователя не являются постоянными. Настройка isPersitent=true привести к созданию постоянных файлов cookie идентификации пользователя.

Не должно быть проблемой использовать балансировку нагрузки, если только isReferenceMode=true, Эталонный режим изменяет куки-файлы идентификации пользователя с автономного на указатель.

В эталонном режиме во время сериализации создается простой артефакт, а материал токена сохраняется в кэше токена, который связан с обработчиком токена. Кэш токена является экземпляром класса, производным от SessionSecurityTokenCache. Для сценариев веб-фермы кэш токена должен работать на всех узлах фермы.

Может быть, вам нужно реализовать кеш токена.

Другие вопросы по тегам