AJAX请求返回403(禁止)错误

时间:2016-01-12 02:44:55

标签: ajax spring spring-mvc spring-security

Ajax请求localhost返回403错误。但是,当我将控制器requestMethod更改为GET并打开请求" url"在浏览器上,它显示从server返回的json数据。我希望使用该数据填充下拉列表。请帮忙。我使用Spring security 4.0和Spring MVC框架工作。 CSRF未禁用。此外,网址在春天固定。

我已经在这里检查了相关问题,但没有找到能够帮助我的解决方案。

2 个答案:

答案 0 :(得分:5)

由于以下原因之一,您收到403:

  • 您的控制器不接受POST呼叫
  • 您没有使用ajax邮局提交CSRF
  • 您正在通过ajax拨打错误电话

对于以上各项:

  • 确保您的控制器接受POST呼叫
  • 确保您的ajax POST调用也提交CSRF
  • 确保根据要求使用正确的呼叫类型(数据检索应该是GET,创建应该是POST,修改应该是PUT,删除应该是删除,请查看最佳实践的宁静指南enter link description here

您提供的答案并不能帮助您了解您的问题,因此您将面临更多这类难以排除故障的问题。

答案 1 :(得分:0)

我找到了出路: 我将AJAX调用及其控制器的请求方法从POST更改为GET,并获取请求的200 - OK状态。此外,当我打开AJAX请求" URL"在我在我的网络应用程序上登录的浏览器上,它显示JSON数据。但是,当我在未登录的浏览器上打开时,Spring安全性会请求我的登录信息 - 我猜是完美的。

从安全的角度来看,这个动作是否正常?