2016-01-12 8 views
0

Ajax запрос к localhost return 403 ошибка. Однако, когда я меняю контроллер requestMethod на GET и открываю запрос «url» в браузере, он отображает данные json, возвращаемые с сервера. Я хочу использовать данные для заполнения выпадающего списка. Пожалуйста помоги. Я использую весеннюю безопасность 4.0 с работой весной MVC. CSRF не отключается. Кроме того, URL-адрес закреплен весной.Ошибка запроса AJAX 403 (Запрещенная) ошибка

Я проверил связанные вопросы здесь, но не видел решения, которое мне помогает.

+0

Добавьте код, вызывающий ошибку, пожалуйста. –

+0

@ J.Titus Он не отображал ошибок на уровне скрипта или кода Spring/Java. Я проверил на консоли браузера и увидел статус запроса как запрет. Затем я открыл URL-адрес запроса в браузере и увидел, что данные были возвращены с сервера в обычном режиме. http: // localhost: 8080/myapp/getCats –

+0

Я говорю о ошибке 403. Как выглядит ваш вызов AJAX? –

ответ

4

Вы получаете 403 из-за одной из этих причин:

  • Ваш контроллер не принимает POST вызов
  • Вы не подав CSRF с АЯКС после вызова
  • Вы делаете некорректный вызов с вашего AJAX

Для каждого из указанных выше:

  • Убедитесь, что ваш контроллер принимает POST вызов
  • Убедитесь, что ваши Ajax звонков POST также представления CSRF
  • Убедитесь, что вы используете правильный тип вызова в зависимости от требований (извлечение данных должно быть GET, создание должно быть POST, модификация должна быть PUT и удаление должно быть DELETE, проверьте успокоительные рекомендации по лучшей практике enter link description here

ответ вы предоставили не поможет вам понять, что ваша проблема, таким образом, вы будете сталкиваться с более из этих типов вопросов вниз по дорожке которые будут трудно устранить.

+0

Спасибо за ваше просвещение. Это очень полезно! –

0

Я нашел выход: Я изменил методы запроса как вызова AJAX, так и его контроллера от POST до GET и получил статус 200 - OK для запроса. Кроме того, когда я открываю запрос «URL» AJAX в браузере, на котором я зарегистрирован в своем веб-приложении, он отображает данные JSON. Однако, когда я открываю браузер, на котором я не зарегистрирован, Spring Security запрашивает мой логин - Perfect, я думаю !.

Пожалуйста, это действие ОК с точки зрения безопасности?

+0

В зависимости от вашего использования, я дам вам ответ, на котором вы можете основывать свое решение, идущее вниз по дорожке, потому что я могу видеть проблемы в вашем коде – Aeseir

Смежные вопросы