首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带有Security & REST端点的Spring提供了一个403“无法验证所提供的CSRF令牌,因为找不到您的会话”

带有Security & REST端点的Spring提供了一个403“无法验证所提供的CSRF令牌,因为找不到您的会话”
EN

Stack Overflow用户
提问于 2018-02-09 21:55:04
回答 2查看 1.8K关注 0票数 0

我有一个Java引导微服务,在那里我有一个管理网站和REST端点。该网站在myserver.com/serverwebpage上访问,REST web服务位于myserver.com/api/restendpoint。我使用Spring,在web端具有登录安全性和CSRF,在REST端点端使用HMAC授权。我在网站端有@Controller注释,REST web服务有@RestController注释。该网站运行良好,webservice与GET的工作良好。然而,我只是尝试删除,得到403错误:禁忌,消息:“无法验证提供的CSRF令牌,因为您的会话没有找到”。看起来MVC安全看到REST MVC服务请求并发出CSRF错误,因为我没有提供CSRF号码。当然,我确实为MVC跨脚本安全提供了网页上的CSRF。有人知道怎么解决这个问题吗?是否需要使用不同的端口创建单独的微服务?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-18 18:07:59

我无法用Spring来解决这个问题。因此,我刚刚在同一个AWS实例上创建了两个单独的微服务。一个端口号为443的微服务处理web服务并使用Spring。端口8443的另一个微服务处理没有Spring的所有REST调用。这件事很好用。失望的是,我找不到答案,只好继续前进。

票数 0
EN

Stack Overflow用户

发布于 2018-02-09 22:27:23

当您调用DELETE方法时,它们需要CSRF令牌。也许您的DELETE API不带CSRF令牌。您需要在请求头中添加CSRF令牌。

在标头中添加CSRF取决于Ajax框架。如果您的组合是Security + Thymeleaf + jQuery,那么请参考Security文档:

https://docs.spring.io/spring-security/site/docs/current/reference/html/csrf.html#csrf-include-csrf-token-ajax

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48714652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档