Я использую @EnableMongoHttpSession
в классе HttpSessionConfig
.Таким образом, когда URL-адрес попадает из браузера, он запрашивает аутентификацию.При успешном входе в систему создается новый документ в монгольской коллекции «Sessions».После истечения времени ожидания документ удаляется из коллекции.До этого все идет хорошо.
Однако, когда тот же URL-адрес удаляется из браузера, новый сеанс создается без аутентификации автоматически (создается новый документ сеанса).
Используется конфигурация безопасности какниже:
httpSec.authorizeRequests()
.antMatchers("/welcomeUrl").permitAll()
.antMatchers("/user/**").hasAuthority("ADMIN").anyRequest()
.authenticated()
.and().httpBasic()
.sessionManagement().maximumSessions(1).expiredUrl("/welcomeUrl");
Пожалуйста, кто-нибудь, дайте мне знать, что мне здесь не хватает.
РЕДАКТИРОВАТЬ: В ходе расследования обнаружил, что при обращении к URL из браузера, ипосле авторизации cookie виден в инструментах разработчика.При следующем обращении к URL я мог видеть части «Авторизация: Basic ....» и «Cookie: SESSION .....» в заголовке запроса.
После истечения времени ожидания сеанса, начиная с базовой авторизацииВ заголовке указывается имя пользователя, новый сеанс создается без запроса аутентификации.
Как заставить загрузочную систему Spring учитывать cookie для создания сеанса вместо заголовка Basic Authorization?