Тестирование весенней безопасности с Postman

Я настроил аутентификацию на основе форм с использованием безопасности Spring. Он отлично работает, когда я вхожу в систему, используя форму входа в свое веб-приложение.

Он также работает с cURL:

curl --data "j_username=myname&j_password=mypassword" http://localhost:8080/test/j_spring_security_check --verbose

Однако я не могу заставить его работать с помощью Postman:

введите здесь описание изображения

Чего не хватает? Мне нужно пройти аутентификацию, чтобы протестировать другие сервисы.


person Ivan    schedule 28.05.2015    source источник


Ответы (5)


В конце концов мне удалось сообщить Postman об аутентификации с помощью расширения Postman Interceptor для Chrome.

При включенном расширении (щелкнув значок спутника в приложении Postman) вам просто нужно войти в систему, используя форму входа в вашу сеть, а затем вы можете начать использовать службы, требующие аутентификации в Postman.

person Ivan    schedule 21.10.2016
comment
Работает ли это также с приложением Postman Native (не с приложением Chrome)? - person Janac Meena; 14.11.2019
comment
Чтобы это работало с приложением Postman Native, вы должны установить Interceptor Bridge: learning.getpostman.com/docs/postman/sending-api-requests/ - person Janac Meena; 14.11.2019
comment
Ну, у меня это работало без перехватчика. Как это также решает проблему аутентификации через почтальона? - person IonicMan; 06.11.2020

Вы можете выполнить аутентификацию / авторизацию в почтальоне с помощью различных типов авторизации, указанных в раскрывающемся списке почтальона на вкладке «Авторизация».

Ниже приведен шаг по использованию Basic Auth, который по умолчанию обеспечивает безопасность Spring.

В весенней безопасности вы можете настроить свои учетные данные в файле application.properties, как указано ниже.

spring.security.user.name=yer spring.security.user.password=galem

Базовая форма аутентификации Postman Spring security

person Yergalem    schedule 11.12.2018

Мне помогло использование http.httpBasic.

http.httpBasic()
    .and()
    .authorizeRequests()
    .antMatchers("/api/home")
    .hasRole("ADMIN")
    .antMatchers("/api/product/*")
    .hasRole("ADMIN")
    .and()
    .formLogin();
person felix    schedule 21.05.2018

При использовании базовой аутентификации на почтальоне вы устанавливаете учетные данные на вкладке авторизации. Нажмите «Авторизация», выберите тип «Базовая аутентификация», отобразится раздел учетных данных, где вы должны ввести имя пользователя и пароль.

person ABODE    schedule 30.01.2020

Для меня Postman Interceptor не работал
Поэтому я сделал следующее, и теперь я могу войти на сервер.

  1. Выберите запрос POST из раскрывающегося списка и введите URL-адрес для входа в раздел URL-адреса запроса.
  2. Выберите Тело из вкладок
  3. Введите ключи и значения имени пользователя и пароля, как показано на рисунке.
  4. И нажмите «Отправить», это создаст временный файл cookie в почтальоне и будет там для сеанса.
  5. Вы также можете выполнить запрос GET для URL-адреса выхода из сеанса. Или удалите файл cookie из файлов cookie под кнопкой «Отправить». введите здесь описание изображения
person Akash Jain    schedule 26.02.2021
comment
когда я отправляю сообщение с данными формы, как вы описали, я всегда получаю 404. то же самое происходит с x-www-form-urlencoded. Но когда я выбираю не тело, я получаю учетные данные кровати. все отлично работает с веб-браузером. - person rsobies; 01.07.2021
comment
Я так понял, у почтальона включена автоматическая переадресация. отключил, проблема решена - person rsobies; 01.07.2021