Spring中allowedOriginPatterns和allowedOrigins方法有何不同详解

 更新时间:2023年10月07日 08:29:24   作者:滄鎟あ  
这篇文章主要给大家介绍了关于Spring中allowedOriginPatterns和allowedOrigins方法有何不同,allowedOriginPatterns和allowedOrigins都是用来设置允许跨域请求的来源,需要的朋友可以参考下

allowedOriginPatterns 和 allowedOrigins 都是用来设置允许跨域请求的来源,其中 allowedOriginPatterns 是在 Spring 5.3 版本引入的新方法,而 allowedOrigins 是旧版本中的方法。

它们的主要区别在于使用方式和匹配规则。allowedOrigins 方法使用的是字符串匹配,即只能指定具体的跨域来源,而不能使用通配符;而 allowedOriginPatterns 方法使用的是 Ant 风格的路径匹配规则,可以使用通配符来匹配多个来源。

通配符是一种表示可以匹配任意字符或者任意字符串的符号,通常用于模式匹配或者模糊匹配。

举个例子,如果你的前端应用需要从 http://localhost:8080 和 https://www.example.com 两个不同的来源获取数据,你可以这样配置:

registry.addMapping("/**")
        .allowedOrigins("http://localhost:8080", "https://www.example.com")
        .allowedMethods("GET", "POST")
        .allowCredentials(true)
        .maxAge(3600);

这段代码表示,允许来自 http://localhost:8080 和 https://www.example.com 这两个来源的跨域请求访问任何请求路径,允许的 HTTP 方法包括 GET 和 POST,启用允许发送凭据,预检请求的缓存时间为 1 小时。

使用 allowedOriginPatterns 方法可以这样配置:

registry.addMapping("/**")
        .allowedOriginPatterns("http://localhost:*", "https://*.example.com")
        .allowedMethods("GET", "POST")
        .allowCredentials(true)
        .maxAge(3600);

这段代码表示,允许来自以 http://localhost: 开头的任意端口和以 https:// 开头的以 .example.com 结尾的任意二级域名的跨域请求访问任何请求路径,允许的 HTTP 方法包括 GET 和 POST,启用允许发送凭据,预检请求的缓存时间为 1 小时。

总结

到此这篇关于Spring中allowedOriginPatterns和allowedOrigins方法有何不同的文章就介绍到这了,更多相关allowedOriginPatterns和allowedOrigins不同点内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring Cache实现缓存技术

    Spring Cache实现缓存技术

    在面对公司缓存技术混乱时,张三基于Spring框架自研缓存解决方案,展现了他的专业技术能力和积极工作态度,他通过问题诊断、技术选型、编码测试、文档编写和部署监控等一系列步骤,确保了新缓存系统的功能正确性和性能稳定性
    2024-10-10
  • JavaFx 中创建计时器的步骤详解

    JavaFx 中创建计时器的步骤详解

    本文介绍了如何在JavaFx中创建计时器,通过创建计时器界面、编写计时器逻辑以及关联计时器按钮,我们可以快速实现一个灵活可靠的计时器组件,本文能够帮助读者在 JavaFx 中成功实现自己的计时器功能,感兴趣的朋友一起看看吧
    2023-11-11
  • Java 将HTML转为XML的详细步骤

    Java 将HTML转为XML的详细步骤

    这篇文章主要介绍了Java 将HTML转为XML,本文将以html转为xml格式为例,介绍如何实现转换,以下是详细方法及步骤,需要的朋友可以参考下
    2022-06-06
  • Java由浅入深讲解继承上

    Java由浅入深讲解继承上

    继承就是可以直接使用前辈的属性和方法。自然界如果没有继承,那一切都是处于混沌状态。多态是同一个行为具有多个不同表现形式或形态的能力。多态就是同一个接口,使用不同的实例而执行不同操作
    2022-04-04
  • SpringBoot统一功能处理的方式详解

    SpringBoot统一功能处理的方式详解

    这篇文章主要为大家详细介绍了SpringBoot统一功能处理的方式,文中的示例代码讲解详细,对我们学习或工作有一定借鉴价值,需要的可以参考一下
    2022-08-08
  • 通过实例解析POJO和JavaBean的区别

    通过实例解析POJO和JavaBean的区别

    这篇文章主要介绍了通过实例解析POJO和JavaBean的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • 三种Spring BeanName生成器,你了解吗

    三种Spring BeanName生成器,你了解吗

    无论我们是通过 XML 文件,还是 Java 代码,亦或是包扫描的方式去注册 Bean,都可以不设置BeanName,而Spring均会为之提供默认的 beanName,本文我们就来看看 Spring 中三种处理不同情况的 beanName生成器吧
    2023-09-09
  • jpa onetomany 使用级连表删除被维护表数据时的坑

    jpa onetomany 使用级连表删除被维护表数据时的坑

    这篇文章主要介绍了jpa onetomany 使用级连表删除被维护表数据时的坑,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • 当Transactional遇上synchronized的解决方法分享

    当Transactional遇上synchronized的解决方法分享

    前些时间刚好刷到了有关于“# 【事务与锁】当Transactional遇上synchronized”这一类的文章,感觉这也是工作中经常会遇到的一类问题了。所以就针对这个话题进行了分析并整理了常用的解决方法,希望对大家有所帮助
    2023-05-05
  • 如何去掉IntelliJ IDEA中mybatis对应的xml文件警告

    如何去掉IntelliJ IDEA中mybatis对应的xml文件警告

    这篇文章主要介绍了如何去掉IntelliJ IDEA中mybatis对应的xml文件警告问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04

最新评论