Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring Boot应用程序与Angular应用程序的集成_Java_Angular_Spring Boot_Spring Security - Fatal编程技术网

Java Spring Boot应用程序与Angular应用程序的集成

Java Spring Boot应用程序与Angular应用程序的集成,java,angular,spring-boot,spring-security,Java,Angular,Spring Boot,Spring Security,我想将Spring Boot应用程序与Angular应用程序集成。两个应用程序都在不同的服务器上运行。当我尝试从Angular应用程序中点击RESTAPI时,API成功点击,但我在UI上得到错误响应 CORS策略已阻止从源“”访问“”处的XMLHttpRequest:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许源”标头 我在后端实现了CORS协商。所以我只希望我能够在没有任何安全性的情况下从UI访问后端 我还阅读了下面的文章来了解CORS和CSRF @Bean 公共W

我想将Spring Boot应用程序与Angular应用程序集成。两个应用程序都在不同的服务器上运行。当我尝试从Angular应用程序中点击RESTAPI时,API成功点击,但我在UI上得到错误响应

CORS策略已阻止从源“”访问“”处的XMLHttpRequest:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许源”标头

我在后端实现了CORS协商。所以我只希望我能够在没有任何安全性的情况下从UI访问后端

我还阅读了下面的文章来了解CORS和CSRF

@Bean
公共WebMVCConfiguer corscoonfiguer(){
返回新的WebMVCConfiguer(){
@凌驾
公共作废添加公司标志(公司注册处){
registry.addMapping(corsMapping)
.允许的起源(允许的起源)
.allowedMethods(allowedMethods)。AllowedHeader(“X-Requested-With”);
}
};
}
我只是想知道如何才能成功地将Spring Boot应用程序与Angular应用程序集成


如果有任何文档或链接可以帮助我,请告诉我。

CORS管理对来自服务器的请求的访问,而不是部署后端应用程序的服务器。默认情况下,由于安全原因,它仅设置为后端托管服务器,这意味着只允许来自后端托管服务器的请求

在您的情况下,由于后端和UI都在不同的服务器上运行,您需要在后端添加一些代码更改,以允许UI访问后端

您可以拥有一个类
ResourceApplication.java
,如下所示:

@RequestMapping("/")
@CrossOrigin(origins="*", maxAge=3600)
public Message home() {
  return new Message("Hello World");
}

以上内容摘自spring.io提供的教程,如果您将spring boot与angular boot集成,这将是一个很好的指南。如果向下滚动,您将找到CORS部分。

CORS管理对来自服务器的请求的访问,而不是部署后端应用程序的服务器。默认情况下,由于安全原因,它仅设置为后端托管服务器,这意味着只允许来自后端托管服务器的请求

在您的情况下,由于后端和UI都在不同的服务器上运行,您需要在后端添加一些代码更改,以允许UI访问后端

您可以拥有一个类
ResourceApplication.java
,如下所示:

@RequestMapping("/")
@CrossOrigin(origins="*", maxAge=3600)
public Message home() {
  return new Message("Hello World");
}

以上内容摘自spring.io提供的教程,如果您将spring boot与angular boot集成,这将是一个很好的指南。如果向下滚动,您将找到CORS部分。

上述代码也在执行相同的操作。我可以点击后端,但无法读取响应。实际上,这是一个CORS错误,因为浏览器无法读取响应。但如果我将在UI中添加带有标题的X-Requested-With。由于CSRF,我将收到飞行前请求错误。我只想成功击中而不出错。我已经看过春季安全文件了。我还阅读了我共享的文档,该文档解释了CORS和CSRFS从源站“”访问XMLHttpRequest的权限已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:飞行前请求不允许重定向。@Yugsing你说得对,但浏览器无法读取响应。它正在工作好家伙。正常cors映射注释工作正常。在我的例子中,这是另一个问题。上面的代码也在做同样的事情。我可以点击后端,但无法读取响应。实际上,这是一个CORS错误,因为浏览器无法读取响应。但如果我将在UI中添加带有标题的X-Requested-With。由于CSRF,我将收到飞行前请求错误。我只想成功击中而不出错。我已经看过春季安全文件了。我还阅读了我共享的文档,该文档解释了CORS和CSRFS从源站“”访问XMLHttpRequest的权限已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:飞行前请求不允许重定向。@Yugsing你说得对,但浏览器无法读取响应。它正在工作好家伙。正常cors映射注释工作正常。就我而言,这是另一个问题。可能的重复