当前位置: 首页 > news >正文

海淀区做网站厂家湖南广告优化

海淀区做网站厂家,湖南广告优化,青岛网站设计公司价格,温州百度快速排名优化Spring MVC 支持跨域处理(CORS)。 CORS 简介处理CORS 过滤器CrossOrigin注解java配置xml配置 主页传送门:📀 传送 简介 跨域是指在浏览器的同源策略下,不能执行其他网站的脚本。它是由浏览器的安全限制造成的&#xf…

Spring MVC 支持跨域处理(CORS)。

CORS

  • 简介
  • 处理
    • CORS 过滤器
    • CrossOrigin注解
    • java配置
    • xml配置

在这里插入图片描述

主页传送门:📀 传送

简介


   跨域是指在浏览器的同源策略下,不能执行其他网站的脚本。它是由浏览器的安全限制造成的,主要是为了保护用户的安全。如果您想要在不同域名下访问服务器上的资源,就需要使用跨域技术。跨域技术有很多种,比如 JSONP、CORS 等。

处理


    CORS 规范分为预检请求、简单请求和实际请求。要了解 CORS 的工作原理,可以阅读Cross-Origin Resource Sharing (CORS)等,或者查看规范了解更多详细信息。

    Spring MVC HandlerMapping 实现提供了对 CORS 的内置支持。成功将请求映射到处理程序后,HandlerMapping 实现检查给定请求和处理程序的 CORS 配置并采取进一步的操作。预检请求被直接处理,而简单和实际的 CORS 请求被拦截、验证,并设置了所需的 CORS 响应标头。

    为了启用跨源请求(即存在 Origin 标头并且与请求的主机不同),您需要有一些明确声明的 CORS 配置。如果未找到匹配的 CORS 配置,预检请求将被拒绝。没有 CORS 标头添加到简单和实际 CORS 请求的响应中,因此浏览器会拒绝它们。

    每个 HandlerMapping 都可以配置单独使用基于 URL 模式的 CorsConfiguration 映射。 在大多数情况下,应用程序使用 MVC Java 配置或 XML 命名空间来声明此类映射,这会导致将单个全局映射传递给所有 HandlerMapping 实例。

    可以将 HandlerMapping 级别的全局 CORS 配置与更细粒度的处理程序级别的 CORS 配置相结合。 例如,带注释的控制器可以使用类级或方法级的 @CrossOrigin 注释(其他处理程序可以实现 CorsConfigurationSource)。
结合全局和局部配置的规则通常是附加的⟩——例如,所有全局和所有局部起源。 对于那些只能接受单个值的属性,例如 allowCredentials 和 maxAge,局部覆盖全局值。

CORS 过滤器


   可以通过 Spring 内置的CorsFilter支持 CORS。

要配置过滤器,需将CorsConfigurationSource传递给它的构造函数,示例如下:

CorsConfiguration config = new CorsConfiguration();// Possibly...
// config.applyPermitDefaultValues()config.setAllowCredentials(true);
config.addAllowedOrigin("https://domain1.com");
config.addAllowedHeader("*");
config.addAllowedMethod("*");UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", config);CorsFilter filter = new CorsFilter(source);

CrossOrigin注解


示例如下:

@RestController
@RequestMapping("/account")
public class AccountController {@CrossOrigin@GetMapping("/{id}")public Account retrieve(@PathVariable Long id) {// ...}@DeleteMapping("/{id}")public void remove(@PathVariable Long id) {// ...}
}

默认情况下,@CrossOrigin允许访问:

所有origin、所有 header、所有 Controller 方法映射到的 HTTP 方法
allowCredentials默认情况下不启用,因为它建立了一个信任级别,可以公开敏感的用户特定信息(例如 cookie 和 CSRF 令牌),并且只应在适当的情况下使用。启用时,必须将allowOrigins设置为一个或多个特定域(但不是特殊值"*"),或者allowOriginPatterns属性可用于匹配一组动态来源。

@CrossOrigin也支持类级别,并且被所有方法继承,示例如下:

@CrossOrigin(origins = "https://domain2.com", maxAge = 3600)
@RestController
@RequestMapping("/account")
public class AccountController {@GetMapping("/{id}")public Account retrieve(@PathVariable Long id) {// ...}@DeleteMapping("/{id}")public void remove(@PathVariable Long id) {// ...}
}

可以同时在类级别和方法级别上使用@CrossOrigin

@CrossOrigin(maxAge = 3600)
@RestController
@RequestMapping("/account")
public class AccountController {@CrossOrigin("https://domain2.com")@GetMapping("/{id}")public Account retrieve(@PathVariable Long id) {// ...}@DeleteMapping("/{id}")public void remove(@PathVariable Long id) {// ...}
}

java配置


想要在 MVC Java 配置中启用 CORS,可以使用CorsRegistry回调,示例如下:

@Configuration
@EnableWebMvc
public class WebConfig implements WebMvcConfigurer {@Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping("/api/**").allowedOrigins("https://domain2.com").allowedMethods("PUT", "DELETE").allowedHeaders("header1", "header2", "header3").exposedHeaders("header1", "header2").allowCredentials(true).maxAge(3600);// Add more mappings...}
}

xml配置


想要在 XML 命名空间中启用 CORS,可以使用mvc:cors元素,示例如下:

<mvc:cors><mvc:mapping path="/api/**"allowed-origins="https://domain1.com, https://domain2.com"allowed-methods="GET, PUT"allowed-headers="header1, header2, header3"exposed-headers="header1, header2" allow-credentials="true"max-age="123" /><mvc:mapping path="/resources/**"allowed-origins="https://domain1.com" /></mvc:cors>

在这里插入图片描述

  如果喜欢的话,欢迎 🤞关注 👍点赞 💬评论 🤝收藏  🙌一起讨论你的支持就是我✍️创作的动力!					  💞💞💞
http://www.laogonggong.com/news/25577.html

相关文章:

  • 网站 只做程序员软文代写
  • 做网站应注意什么2024年重大新闻摘抄
  • 东莞做网站的联系电网络营销公司好不好
  • 天河商城型网站建设知名的seo快速排名多少钱
  • 泰州市网站建设制作站长工具端口查询
  • 让别人做网站要注意什么快推广app下载
  • 网站主题风格泉州全网推广
  • 做外贸找客户最好用的网站百度新版本更新下载
  • seo网站推广案例廊坊seo外包公司费用
  • 如何做中英文网站设计seo的优化流程
  • 一个人怎样做网站爱站网seo
  • 青浦网站建设推广十大经典广告营销案例
  • 有产品做推广 选哪个 网站百度公司排名
  • 海淀手机网站设计公司哈尔滨优化网站方法
  • 网站制作手机网站网站制作的基本流程是什么
  • 织梦做信息分类网站网推是干什么的
  • 国外网站工作室如何用手机免费创建网站
  • 医疗网站模版站长工具seo综合查询5g
  • wordpress 在线qq搜索引擎优化的各种方法
  • 网站关键词优化教程互联网营销师培训内容
  • 自己电脑做网站服务器设置灰色行业推广渠道
  • 网站传不上图片培训网站设计
  • 广州思盾互动网站建设公司搜索引擎收录查询
  • 西安营销型网站制作seo网站推广有哪些
  • asp后台怎么加载网站苏州做网站的专业公司
  • 凡科做的网站能被收录吗推广有什么好方法
  • 做网站 万户网站推广怎么优化
  • 郑州做公司网站的有什么功能
  • 重庆网站建设制作设计南京关键词seo公司
  • 咸宁 网站建设百度搜索指数在线查询