公司网站空间电子商务网站建设选修课

news/2025/10/9 13:43:59/文章来源:
公司网站空间,电子商务网站建设选修课,做网站的空间在哪买,东莞做网站一年费用一、问题 在微服务项目中#xff0c;明明已经设置允许跨域访问#xff1a; 为什么还会出现跨域请求问题#xff1f; 二、为什么 仔细查看错误提示信息#xff1a;When allowCredentials is true, allowedOrigins cannot contain the special value * since t…一、问题 在微服务项目中明明已经设置允许跨域访问 为什么还会出现跨域请求问题 二、为什么 仔细查看错误提示信息When allowCredentials is true, allowedOrigins cannot contain the special value * since that cannot be set on the Access-Control-Allow-Origin response header. To allow credentials to a set of origins, list them explicitly or consider using allowedOriginPatterns instead. 原来当我们设置allowCredentials 参数为 true时allowedOrigins参数将不再允许被设置为“*”参数可以使用allowedOriginPatterns来替代。 那么为什么CORS要有这样的规定allowCredentials参数又是什么鬼 Allow-Credentials 参数在跨域资源共享CORS策略中用于指定是否允许浏览器发送包含凭证的请求。凭证包括 cookies、HTTP 认证信息等。当 Allow-Credentials 设置为 true 时浏览器将允许前端应用程序在跨域请求中发送这些凭证。 在 HTTP 响应头中Access-Control-Allow-Credentials 用于告知浏览器服务端是否允许跨域请求携带凭证。 可以看到当我们设置Allow-Credentials 参数为true时将会携带cookies、HTTP认证等这些比较敏感的安全信息的因此 CORS 规范要求当 allowCredentials 设置为 true 时不能使用通配符 * 来表示允许所有来源origin而必须要明确指定允许的来源。 三、怎么办 单就解决这个问题来说我们可以有以下两个方案 方案一明确列出允许的来源你可以列出具体的域名而不是使用通配符 *。 Configuration public class CorsConfig implements WebMvcConfigurer {Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping(/**).allowedOrigins(https://example.com, https://anotherdomain.com).allowedHeaders(*).allowedMethods(*).allowCredentials(true);}} 方案二使用 allowedOriginPatterns从 Spring Framework 5.3 开始支持使用 allowedOriginPatterns它可以使用通配符并且与 allowCredentials 一起使用。 Configuration public class CorsConfig implements WebMvcConfigurer {Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping(/**).allowedOriginPatterns(*) // 使用 allowedOriginPatterns 而不是 allowedOrigins.allowedHeaders(*).allowedMethods(*).allowCredentials(true);}} 四、总结 那么在Spring Boot微项目中什么情况下要设置 allowCredentials(true) 呢 可以参考以下几个方面考虑 1、是否需要跨域请求携带凭据 如果你的前端应用需要通过跨域请求来访问另一个域名下的微服务并且这些请求需要携带凭据如 cookies、HTTP 认证信息或者客户端证书那么你需要设置 allowCredentials(true)。 例如如果你的前端应用和后端 API 部署在不同的域名上并且你使用了基于 Session 或 Cookie 的身份验证机制那么 allowCredentials(true) 是必须的。 2、安全性考虑 在允许跨域请求携带凭据的情况下确保你只允许受信任的来源。明确列出受信任的域名比使用 * 通配符更安全。 使用 allowedOriginPatterns 可以配合 allowCredentials(true)但也应小心配置避免开放过多不受控的来源。 3、API 的设计方式 如果你的微服务是无状态的并且主要依赖于 token如 JWT来进行认证和授权那么通常不需要依赖 cookies 或其他凭据机制这种情况下可以避免使用 allowCredentials(true)。 五、推荐 在Spring Cloud微服务项目中前端调用一个后端API接口的请求路径通常是这样的前端 网关 后端服务即 统一由网关接收前端请求并转发后端服务API通常采用tokenJWT进行认证授权 所以关于CORS跨域请求咱们可以这么处理 1、Spring Boot后端服务 Spring Boot后端服务不需要接收Cookie等信息因此不用设置allowCredentials参数。 Configuration public class CorsConfig implements WebMvcConfigurer {Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping(/**).allowedOrigins(*).allowedHeaders(*).allowedMethods(*);}}2、Spring Cloud Gateway网关 网关通常需要拦截接收处理前端请求的cookie等信息因此可以设置allowCredentials参数为true。可以在Spring Cloud Gateway的application.yml中进行如下配置 spring:cloud:gateway:# 跨域属性配置globalcors:cors-configurations:[/**]:max-age: 3600allowed-origin-patterns: https://*.example.comallowed-headers: *allow-credentials: trueallowed-methods:- GET- POST- DELETE- PUT- OPTION 六、提外话 在SpringBoot中关于跨域处理的写法在SpringFramework5.0之前通常是以继承WebMvcConfigurerAdapter方式实现的Spring5.0之后WebMvcConfigurerAdapter这个类已被标记为Deprecated不再建议使用了。 Configuration public class CorsConfig extends WebMvcConfigurerAdapter {private CorsConfiguration buildConfig() {CorsConfiguration corsConfiguration new CorsConfiguration();corsConfiguration.addAllowedOrigin(*);corsConfiguration.addAllowedHeader(*);corsConfiguration.addAllowedMethod(*);return corsConfiguration;}Beanpublic CorsFilter corsFilter() {UrlBasedCorsConfigurationSource source new UrlBasedCorsConfigurationSource();source.registerCorsConfiguration(/**, buildConfig());return new CorsFilter(source);}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/932594.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025秋_8

今天填写了统一建模语言题目申请表,并学习了Java

react的依赖项数组 - 实践

react的依赖项数组 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", &…

25年人教版一年级资料汇总!(一年级数学上册典型练习题)(解决问题共150道)电子版可打印(共6页)!可打印可下载

25年人教新版一年级上册数学(一年级数学上册典型练习题)(解决问题共150道),电子版可打印可下载,可帮助孩子查漏补缺,提升数学计算水平。免费资料点击以下可获取小学学科上下册资料汇总 添加图片注释,不超过 140 字…

seo全站优化全案例网站建设设计主要系统

立即学习:https://edu.csdn.net/course/play/19711/343119?utm_sourceblogtoedu 1.菜单menu: 1)弹出式菜单,类似与电脑桌面右击弹出的菜单成为弹出菜单; 2)窗体式菜单:类似于word上面的菜单栏 2.窗体菜单创建的步骤…

专业做包装设计网站快乐麻花网站源码

现在的计算机的图像的都是用像素表示的,无论是点、直线、圆或其他图形最终都会以点的形式显示。人们看到屏幕的直线只不过是模拟出来的,人眼不能分辨出来而已。那么计算机是如何画直线的呢,其实有比较多的算法,这里讲的是Bresenha…

有做翻译英文网站网络推广搜索引擎

案例1:开机保护检查整流桥、场管、快恢复二极管都正常。通电试机,面板亮黄灯,拔掉中板变压器接插线,黄灯灭,怀疑中板变压器有损坏。断电,用电感表测量变压器电感量,中板采用三个变压器并联&…

VSCode万能Debug任何执行python文档命令的详细教程

VSCode万能Debug任何执行python文档命令的详细教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas"…

东莞南城外贸网站建设无锡网站建设培训学校

IE8开发人员工具 在运行栏中输入“Winver”即可查看版本 Windows7 PowerShell UNIX系统一直有着功能强大的壳程序(shell),Windows PowerShell的诞生就是要提供功能相当于UNIX系统BASH的命令列壳程序,同时也内建脚本语言以及辅助…

外设知识学习笔记

外设知识学习笔记推挽、开漏、高阻GPIO的三种输出状态:推挽:(一般情况) 高电平时,把电流“推”出去。 低电平时,把电流“挽”回来。 ”推挽“强调的时电流的动作。开漏: 将上面的MOS管Q1视为开路。 还需接入一个…

专业的用户反馈管理分析工具,能帮企业节省多少开支?

引言 当今,企业若希望保持产品竞争力,最关键的要素之一在于用户反馈。用户反馈不仅是产品迭代的风向标,也是客户体验的标尺,更是企业经营的决策依据。 成本 以一家员工人数 100 人,用户规模在 1 万的中小软件企业…

关于网站建设相关文章如何自己做购物网站

一、在Pycharm中配置集成Git 我们使用git需要先安装git工具,这里给出下载地址,下载后一路直接安装即可: https://git-for-windows.github.io/ 0. git中的一些常用词释义 Repository name: 仓库名称 Description(可选):…

Kotlin-微服务实用指南-全-

Kotlin 微服务实用指南(全)原文:zh.annas-archive.org/md5/328f7fce73118a0ba71b389914a67b52 译者:飞龙 协议:CC BY-NC-SA 4.0第一章:最佳实践 在本书的整个过程中,我们学习了许多技术和工具,这些技术和工具使…

“你好BOE”再度携非遗与当代设计亮相米兰 以科技之力向世界展现东方美学

意大利当地时间10月3日,“新生万物”中国非遗与当代设计展暨“你好 BOE”品牌巡展(米兰站),于时尚与艺术之都意大利米兰的赛尔贝洛尼塞宫盛大开启。这是继2024年BOE(京东方)携手阳光媒体集团,推动“新生万物”非…

实用指南:seafile:ubuntu搭建社区版seafile12.0

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

网站模板建设二级目录Wordpress 对比wagtail

1 概述 主从复制是指将主数据库的DDL和DML操作通过二进制日志传到从库服务器,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。 Mysql支持一台主库同时向多台从库进行复制,从库同时可以…

ARM芯片架构之CoreSight Programmers‘ Model 深入解析 - 实践

ARM芯片架构之CoreSight Programmers‘ Model 深入解析 - 实践2025-10-09 13:09 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !impor…

个人微信机器人开发指南!API接口轻松上手

个人微信机器人开发指南!API接口轻松上手,微信协议开发个微API 常见开发功能: 好友管理: 维护好友列表:包括添加、删除、修改好友信息。 分组管理:创建、编辑、删除标签,以便更好地组织好友。 消息管理: 信息发…

网站开发需要哪些工程师荆门网站建设514885

From: http://blog.csdn.net/handsomewang527/article/details/1676259 随着我们开发的应用的日益复杂,像以往那样将所有功能坐在一个exe文件中情况越来越少,更多时候是整个应用由若干模块、甚至若干单独的exe文件组成,这就涉及到了模块或进…

国外域名抢注网站云南云南住房和城乡建设厅网站

1.概要 std::function 是 C11 引入的一个通用、多态的函数封装器。它可以存储、复制和调用任何 Callable 目标 —— 函数、Lambda 表达式、bind 表达式或其他函数对象。这使得 std::function 成为一个非常强大的工具,可以用来表示和操作一般的可调用对象。 2.代码…

AI大模型项目三连炸:多模态监控平台+RAG推荐系统+智能体智驾系统

/s/1tEUpUpSwfsGiNGtubuNRUA 提取码:88lc 我们正站在一个历史性的拐点。如果说过去的AI发展是涓涓细流,那么2024年,我们见证的是一场真正的“大爆炸”。短短数月间,三大AI大模型项目以近乎爆破的方式横空出世——多…