2016-06-28 6 views
1

Я попытался запустить загрузочный образец загрузки SAML весной безопасности от, https://github.com/vdenotaris/spring-boot-security-saml-sampleАпатриды Сессии с Spring Security SAML и SP Применение

Я могу запустить его и интегрировать с провайдером идентификации.

Но, я вижу, что сеанс создается каждый раз и остается постоянным, пока пользователь не выйдет из системы.

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

Я попытался добавить нижеследующую строку к методу configure, http.sessionManagement() .sessionCreationPolicy (SessionCreationPolicy.STATELESS);

Но с этой настройкой меня всегда просят войти в систему Identity Provider.

Если я вхожу в систему, он возвращается на страницу, прося меня снова войти в цикл.

Я не уверен, что это правильное поведение при отключении сеансов.

Может ли кто-нибудь предоставить мне правильный подход для использования сессий без гражданства с расширенным продлением срока службы saml и приложением поставщика услуг.

Спасибо,

Шри

ответ

2

Вы должны сеанс наверняка для части аутентификации SAML, так что у вас есть 2 варианта:

1) имеют 2 разных контекстов безопасности в вас ваши приложения, один для аутентификации SAML и один для ваших служб без состояния. Не знаете, как бы вы аутентифицировали свои службы, но для этого нужно было бы иметь какой-то токен, чтобы он был без гражданства. Вы можете определить 2 WebSecurityConfigurerAdapter и переопределить метод configure(HttpSecurity http). Затем используйте http.requestMatchers("/saml/**") в конфигурации saml и http.requestMatchers("/service/**") в вашем сервисном конфиге, и все под /saml будет проходить через saml auth, и все под /service будет проходить через все, что у вас есть.

2) Добавьте больше фильтров (фильтров) в конфигурацию SAML (перед фильтрами saml), чтобы он работал с другим типом auth (например, на основе токена), и поскольку этот фильтр (ы) может генерировать Действительный Authentication перед фильтрами saml вы должны быть хорошими.

Вы также можете проверить эту библиотеку: https://github.com/ulisesbocchio/spring-boot-security-saml, чтобы упростить вашу конфигурацию SAML