Мы мигрируем наше приложение от SpringSecurity 3 до 4. Мы наш ConcurrentSessionControlStrategy боб настроены всегда создавать сеанс (Grails обозначение для определения бобы)Есть ли способ иметь ConcurrentSessionControlStrategy.alwaysCreateSession в Spring Security 4?
sessionRegistry(SessionRegistryImpl)
sessionAuthenticationStrategy(ConcurrentSessionControlStrategy, sessionRegistry) {
alwaysCreateSession = true
}
, потому что мы используем HTTP запросы с базовой аутентификацией из Excel и другие приложения для взаимодействия с приложением и без этой опции, сеанс не создается, и для каждого действия вместо однократной проверки необходимо выполнить аутентификацию для первого действия.
В Spring Security 4 ConcurrentSessionControlStrategy
был перенесен в ConcurrentSessionControlStrategy
(по миграции руководства - http://docs.spring.io/spring-security/site/migrate/current/3-to-4/html5/migrate-3-to-4-xml.html), которые должны быть использованы внутри CompositeSessionAuthenticationStrategy
, но мы не можем найти путь к стратегии установки сеанса.
Обойти мы в настоящее время является вызовом неосновной аутентификации страницы перед аутентификацией, то, что вызывает сеанс будет создан и последующие запросы будут выполняться на эту сессию
'ConcurrentSessionControl' и то, что вы описываете, - это разные вещи. «ConcurrentSessionControl» предназначен для того, сколько сеансов для одного и того же пользователя может быть активным за один раз. Вы смешиваете создание сеанса и одновременный контроль ... Это совсем другие вещи. –
Итак, ваша мысль заключается в том, что 'alwaysCreateSession' не влияет на создание сеанса на основе auth? После установки этого параметра внешние запросы создают сеанс, поэтому он дает нам то, что нам нужно. Кроме того, мы также контролируем, сколько разрешений для каждого пользователя разрешено, но это хорошо работает в 4, когда настроено в соответствии с руководством по миграции. – droggo
Да, это влияет на создание сеанса, но оно не связано с 'ConcurrentSessionControlStrategy'. –