Файл cookie Spring Boot в сравнении с авторизацией в поле заголовка

#spring #spring-boot

#spring #весенняя загрузка

Вопрос:

У меня очень минимальное spring-boot приложение с зависимостями spring-boot-starter-web и spring-boot-starter-security . Я только вчера узнал о весенней загрузке. Я заметил, что отправка POST запроса, подобного приведенному ниже, даже если указан неправильный basic auth пароль, запрос выполняется успешно. Из-за наличия файла cookie в предыдущем успешном запросе.

 curl --location --request POST 'http://localhost:8080/create' --header 'Content-Type: application/json' --header 'Cookie: JSESSIONID=EA39A09B47575D192845148AFFCAD85B' --data-raw '{
"surname":"Murdock",
"givenname":"John",
"placeofbirth":"Slovenia",
"pin":"1234"
}'
  

Это ожидаемое поведение? И как мне сделать так, чтобы spring-boot всегда проверять предоставленный basic auth пароль?

Комментарии:

1. Если у вас есть только spring-boot-starter-web , нет безопасности, и ни файл cookie, ни заголовок ничего не делают (ну, файл cookie, потому что вы можете сохранить что-то в сеансе).

2. Если в сеансе уже есть аутентификация, пользователь не проходит повторную аутентификацию. Вы могли бы переключиться на безопасность без состояния (которая не хранит аутентификацию и требует действительного имени пользователя / пароля или токена или .. будет предоставлено при каждом запросе).