Есть ли способ отложить создание сеанса до тех пор, пока пользователь не войдет в систему? - PullRequest
4 голосов
/ 12 апреля 2019

У нас есть приложение с начальной загрузкой, которое использует WebSecurityConfigurerAdapter.configure () для обработки входа в форму с помощью

http.formLogin().loginPage("/login")

Когда браузер переходит на любые отображения GET (/ обычно), он перенаправляет на страницу входа и создаетсеанс в базе данных - мы используем весенний сеанс jdbc.

Мы хотим попытаться предотвратить это до тех пор, пока пользователь не войдет в систему.

Мы попытались отключить сеанс для пользователя root через

http.antMatcher("/").sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS); // or NEVER

Однако после входа в систему требуется сеанс, что вызывает другие проблемы.

Существует ли какая-либо конфигурация, которая может отложить создание сеанса до успешного входа пользователя в систему?

1 Ответ

0 голосов
/ 18 апреля 2019

Я нашел этот ответ, когда гуглил 'setCreateSessionAllowed', который попал в HttpSessionRequestCache, и обнаружил эту проблему github, которая является той же самой проблемой, которую я вижу.

https://github.com/spring-projects/spring-security/issues/4242

Исправление заключается в вызове setCreateSessionAllowed (false), как предлагается в этой проблеме с github.

...