SecurityMockMvcResultMatchers с sessionCreationPolicy (SessionCreationPolicy.STATELESS) - PullRequest
0 голосов
/ 03 мая 2019

Я пытаюсь написать тесты для моей загрузки Spring с приложением безопасности Spring, в котором API-ключ используется для аутентификации (через AbstractPreAuthenticatedProcessingFilter).Я использую следующие образцы, представленные на https://docs.spring.io/spring-security/site/docs/current/reference/html/test.html#securitymockmvcresultmatchers:

mvc.perform(
                get("/profile")
                        .header(XApiAuthenticationFilter.X_API_KEY, apiKey)
                        .header(XApiAuthenticationFilter.X_API_SECRET, secret)
.andExpect(authenticated());

, но тест неожиданно завершается неудачей:

Аутентификация не должна быть нулевой

Проблема заключается в том, что до тех пор, пока я настраиваю свою безопасность .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS) SecurityContextRepository SecurityContextPersistenceFilter является экземпляром NullSecurityContextRepository, и проверка не выполняется.Если я опускаю sessionCreationPolicy, HttpSessionSecurityContextRepository используется по умолчанию, и тест имеет зеленый цвет ...

Можно ли каким-либо образом использовать authenticated () без создания сеанса с помощью SecurityContextPersistenceFilter?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...