#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. Если в сеансе уже есть аутентификация, пользователь не проходит повторную аутентификацию. Вы могли бы переключиться на безопасность без состояния (которая не хранит аутентификацию и требует действительного имени пользователя / пароля или токена или .. будет предоставлено при каждом запросе).