Spring 同一台计算机上的角度(4)CSRF不同端口

Spring 同一台计算机上的角度(4)CSRF不同端口,spring,angular,Spring,Angular,我有一个小型的spring boot应用程序,它公开了一个REST服务,有两种方法“/upload”(POST)和“/show”(GET) 当我在我的计算机上运行angular 2应用程序,并在同一台计算机的不同端口上使用spring boot rest服务时,angular 2的CSRF部分不希望发送带有标头的XSRF令牌 如果我在spring boot WAR中部署Angular GUI,使REST和GUI都可以通过与CSRF相关的一切进行访问,那么就可以工作了 我认为Cookies和ang

我有一个小型的spring boot应用程序,它公开了一个REST服务,有两种方法“/upload”(POST)和“/show”(GET)

当我在我的计算机上运行angular 2应用程序,并在同一台计算机的不同端口上使用spring boot rest服务时,angular 2的CSRF部分不希望发送带有标头的XSRF令牌

如果我在spring boot WAR中部署Angular GUI,使REST和GUI都可以通过与CSRF相关的一切进行访问,那么就可以工作了

我认为Cookies和angular在发送到哪个端口时是“不可知的”,只要它们来自同一台服务器


我是否丢失了一些使angular发送CSRF头的配置?

Cookie/浏览器从端口上看可能不是不可知的。看

常见的设置是

例如,如果rest端点以
api
开头,则应创建一个
proxy.conf.json

{
  "/api": {
    "target": "http://computer.domain.com:8080",
    "secure": false
  }
}
然后将
package.json
start
脚本更新为:

"start": "ng serve --proxy-config proxy.conf.json",
前端应通过http调用
http://computer.domain.com:4200/api...


希望它有帮助

Cookie/浏览器从端口上看可能不是不可知的。看

常见的设置是

例如,如果rest端点以
api
开头,则应创建一个
proxy.conf.json

{
  "/api": {
    "target": "http://computer.domain.com:8080",
    "secure": false
  }
}
然后将
package.json
start
脚本更新为:

"start": "ng serve --proxy-config proxy.conf.json",
前端应通过http调用
http://computer.domain.com:4200/api...


希望有帮助

您的angular应用程序是否在8080端口上请求rest服务?您的angular应用程序是否在8080端口上请求rest服务?我将尝试看看这是否有效。我昨天在某个网站的某个帖子上看到有人提到这一点,但我认为还有另一种方法。我还必须补充一点,spring框架推出的cookie是HttpOnly,这对Angular的发展毫无帮助。。。。如果有人读过这篇文章,请确保它不仅仅是HttpOnly。我会试试看它是否有效。我昨天在某个网站的某个帖子上看到有人提到这一点,但我认为还有另一种方法。我还必须补充一点,spring框架推出的cookie是HttpOnly,这对Angular的发展毫无帮助。。。。如果有人读过这篇文章,请确保它不是HttpOnly。