当前位置: 首页 > 编程笔记 >

SpringBoot框架RESTful接口设置跨域允许

易研
2023-03-14
本文向大家介绍SpringBoot框架RESTful接口设置跨域允许,包括了SpringBoot框架RESTful接口设置跨域允许的使用技巧和注意事项,需要的朋友参考一下

跨域

跨域请求是指浏览器脚本文件在发送请求时,脚本所在的服务器和请求的服务器地址不一样。跨域是有浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制,

同源策略:是指协议、域名、端口都要相同,其中有一个不同都会产生跨域

SpringBoot框架RESTful接口解决跨域

此处是有配置文件的方式来解决的

package com.prereadweb.config.cors;
 
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;
 
/**
 * @Description: 接口跨域
 * @author: Yangxf
 * @date: 2019/4/19 14:43
 */
@Configuration
public class CorsConfig {
 
  private CorsConfiguration buildConfig() {
    CorsConfiguration corsConfiguration = new CorsConfiguration();
    corsConfiguration.addAllowedOrigin("*"); // 1 设置访问源地址
    corsConfiguration.addAllowedHeader("*"); // 2 设置访问源请求头
    corsConfiguration.addAllowedMethod("*"); // 3 设置访问源请求方法
    return corsConfiguration;
  }
 
  @Bean
  public CorsFilter corsFilter() {
    UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
    source.registerCorsConfiguration("/**", buildConfig()); // 4 对接口配置跨域设置
    return new CorsFilter(source);
  }
}

"*":代表全部。"**":代表适配所有接口

其中addAllowedOrigin(String origin)方法是追加访问源地址。如果不使用”*”(即允许全部访问源),则可以配置多条访问源来做控制。 

如:

corsConfiguration.addAllowedOrigin("http://www.aimaonline.cn/"); 
corsConfiguration.addAllowedOrigin(http://test.aimaonline.cn/);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • nextjs。我想再api里面提供一个接口,用来转发客户端组件发送的请,来解决跨域。 可以给个demo嘛?

  • 问题内容: 我正在HTML页面中加载,并尝试使用Javascript访问其中的元素,但是当我尝试执行代码时,出现以下错误: 您能否帮助我找到解决方案,以便我可以访问框架中的元素? 我正在使用此代码进行测试,但徒劳无功: 问题答案: 同源政策 您无法使用JavaScript访问其他来源的内容,如果可以的话,这将是一个巨大的安全漏洞。对于同源策略,浏览器会阻止脚本尝试访问来源不同的框架。 如果未保留地

  • 问题内容: 在我的项目中,我需要允许其他人向我的脚本发送ajax请求。因此,外部请求可能来自其他网站和域,也可能来自浏览器扩展。 我在脚本顶部仅添加了以下两行,以使它们能够做到: 现在我的问题是:这里是否遗漏了任何安全方面的考虑?这个简单的解决方案会带来严重的问题吗? 如果是这样,什么是更好的解决方案? 感谢您的回复。 问题答案: 如上所述,任何人都可以随时向您的页面发送请求:因此,您需要考虑的主

  • 在我的项目中,我需要允许其他人向我的脚本发送ajax请求。因此,外部请求可能来自其他网站和域,也可能来自浏览器扩展<我只是在我的脚本顶部添加了这两行,让他们完成这项任务: 现在我的问题是:这里有我错过的任何安全考虑吗?这个简单的解决方案会产生严重的问题吗? 如果是,更好的解决方案是什么? 感谢您的回复。

  • 问题内容: 我必须从域B.com调用域A.com(使用http设置cookie)。我在B.com域上所做的就是(javascript): 这将在我测试过的所有浏览器(Safari除外)上在A.com上设置Cookie。令人惊讶的是,即使没有P3P标头,它也可以在IE6中使用。 有什么办法可以使它在Safari中工作吗? 问题答案: 来自: Safari附带了一种保守的cookie策略,该策略将co

  • 使用指南 - 统计设置 - 统计规则设置 - 如何设置跨域监控 如图所示,在“管理-统计规则设置”中可以看到“跨域跟踪”功能。在“已设置跨域监控的网站域名”列表下,系统会展示基于您网站访问数据智能生成的受访域名列表,您可以直接将相关域名设置为跨域监控。