加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

java – 403 ajax GET请求Spring的禁止错误

发布时间:2020-12-15 01:26:36 所属栏目:大数据 来源:网络整理
导读:每次我尝试从数据库中获取用户的信息时,我都会收到403禁用错误.关于我的下面的代码,每次我按下Ajax测试按钮尝试请求时,它都无法运行并给我一个警报,但是在控制台中也给了我403 Forbidden-error.我不确定它是否与Spring安全性有关? 用户JSP页面: 用户控制器

每次我尝试从数据库中获取用户的信息时,我都会收到403禁用错误.关于我的下面的代码,每次我按下Ajax测试按钮尝试请求时,它都无法运行并给我一个警报,但是在控制台中也给了我403 Forbidden-error.我不确定它是否与Spring安全性有关?

用户JSP页面:


用户控制器类:

    @RequestMapping("/viewUser")
public String updateUser(Model model,@RequestParam(value = "id",required = false) Integer id) {

    User user = usersService.getUser(id);

    model.addAttribute("user",user);

    return "settings";
}

@RequestMapping("/ajaxTest")
@ResponseBody
public User ajaxTest(@RequestParam(value = "id",required = false) Integer id) {

    User user = usersService.getUser(id); 
    return user;
}
最佳答案
它通常由Spring默认的CSRF保护引起.

如果您使用JS代码中的DELETE HTTP请求,则还需要发送CSRF保护标头.

没有必要禁用CSRF保护!如果没有必要,请不要这样做.

您可以通过以下方式轻松添加CSRF AJAX / REST保护:

1.将元标题添加到每个页面(使用@ layout.html或其他内容):

2.自定义您的ajax请求,以便为每个请求发送这些标头:

$(function () {
  var token = $("meta[name='_csrf']").attr("content");
  var header = $("meta[name='_csrf_header']").attr("content");
  $(document).ajaxSend(function(e,xhr,options) {
    xhr.setRequestHeader(header,token);
  });
});

请注意,我使用百里香,所以我使用th:content而不是content属性.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读