新用户注册入口 老用户登录入口

[转载]@CrossOrigin Enabling CORS

文章作者:转载 更新时间:2023-11-11 12:31:12 阅读数量:329
文章标签:响应头HTTP 方法
本文摘要:在Spring 4.2版本后,通过使用@CrossOrigin注解可便捷地实现RESTful web服务的跨域资源共享(CORS)。开发者只需在特定的控制器方法上添加该注解,如`@CrossOrigin(origins = "http://localhost:9000")`,即可允许指定来源(如本例中的http://localhost:9000)发起跨域请求。默认情况下,此注解允许所有来源、所有请求头以及与@RequestMapping注解中所定义的方法,并设定预检请求缓存时间为30分钟,同时支持对这些配置进行自定义。通过这种方式,可以有效地在响应中包含CORS访问控制头信息,增强不同源之间的API调用能力。
转载文章

本篇文章为转载内容。原文链接:https://blog.csdn.net/qq_38765404/article/details/78777934。

该文由互联网用户投稿提供,文中观点代表作者本人意见,并不代表本站的立场。

作为信息平台,本站仅提供文章转载服务,并不拥有其所有权,也不对文章内容的真实性、准确性和合法性承担责任。

如发现本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。

在spring 4.2后,提供了跨域注解@CrossOrigin

https://spring.io/guides/gs/rest-service-cors/

Enabling CORS

Controller method CORS configuration

So that the RESTful web service will include CORS access control headers in its response, you just have to add a @CrossOrigin annotation to the handler method:

src/main/java/hello/GreetingController.java

用例:

  @CrossOrigin(origins = "http://localhost:9000")@GetMapping("/greeting")public Greeting greeting(@RequestParam(required=false, defaultValue="World") String name) {System.out.println("==== in greeting ====");return new Greeting(counter.incrementAndGet(), String.format(template, name));}

 

This @CrossOrigin annotation enables cross-origin requests only for this specific method. By default, its allows all origins, all headers, the HTTP methods specified in the @RequestMapping annotation and a maxAge of 30 minutes is used. You can customize this behavior by specifying the value of one of the annotation attributes: originsmethodsallowedHeadersexposedHeadersallowCredentials or maxAge. In this example, we only allow http://localhost:8080 to send cross-origin requests.

@CrossOrigin注解是被注解的方法具备接受跨域请求的功能。默认情况下,它使方法具备接受所有域,所有请求消息头的请求。。。。这个例子中,我们仅接受

http://localhost:8080发送来的跨域请求。

本篇文章为转载内容。原文链接:https://blog.csdn.net/qq_38765404/article/details/78777934。

该文由互联网用户投稿提供,文中观点代表作者本人意见,并不代表本站的立场。

作为信息平台,本站仅提供文章转载服务,并不拥有其所有权,也不对文章内容的真实性、准确性和合法性承担责任。

如发现本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。

相关阅读
文章标题:[转载][洛谷P1082]同余方程

更新时间:2023-02-18
[转载][洛谷P1082]同余方程
文章标题:[转载]webpack优化之HappyPack实战

更新时间:2023-08-07
[转载]webpack优化之HappyPack实战
文章标题:[转载]oracle 同时更新多表,在Oracle数据库中同时更新两张表的简单方法

更新时间:2023-09-10
[转载]oracle 同时更新多表,在Oracle数据库中同时更新两张表的简单方法
文章标题:[转载][Unity] 包括场景互动与射击要素的俯视角闯关游戏Demo

更新时间:2024-03-11
[转载][Unity] 包括场景互动与射击要素的俯视角闯关游戏Demo
文章标题:[转载]程序员也分三六九等?等级差异,一个看不起一个!

更新时间:2024-05-10
[转载]程序员也分三六九等?等级差异,一个看不起一个!
文章标题:[转载]海贼王 动漫 全集目录 分章节 精彩打斗剧集

更新时间:2024-01-12
[转载]海贼王 动漫 全集目录 分章节 精彩打斗剧集
名词解释
作为当前文章的名词解释,仅对当前文章有效。
CORS(跨域资源共享)CORS是一种W3C标准,允许浏览器在执行AJAX请求时,能够从与当前网页不同源的服务器获取资源。通常情况下,出于安全考虑,浏览器会阻止这种跨域请求。但在启用CORS后,服务器可以通过特定的HTTP头信息明确告诉浏览器哪些源、方法、头部等是可以接受的,从而解除同源策略限制。
@CrossOrigin注解在Spring框架中,@CrossOrigin是一个用于处理跨域请求的注解。当将其添加到控制器类或方法上时,它指示Spring MVC在响应中包含必要的CORS头信息,允许来自指定来源或者其他默认设置范围内的跨域请求访问该RESTful API。开发者可以自定义其属性如origins、methods等以满足特定的安全和访问控制需求。
RESTful web服务REST(Representational State Transfer)架构风格的web服务简称RESTful web服务,是一种软件架构风格和网络应用程序设计模式。在这种风格下,Web服务通过HTTP协议暴露资源,并使用统一接口(包括GET、POST、PUT、DELETE等HTTP方法)进行资源的创建、读取、更新和删除操作。通过URI(Uniform Resource Identifier)定位资源,并以JSON、XML等形式返回资源的状态。在本文中,通过在RESTful web服务的控制器方法上应用@CrossOrigin注解,实现对这些服务的跨域访问支持。
延伸阅读
作为当前文章的延伸阅读,仅对当前文章有效。
在深入理解Spring框架的@CrossOrigin注解实现跨域资源共享后,我们可以进一步关注现代Web应用开发中CORS策略的安全性和最佳实践。随着API经济的发展和前后端分离架构的普及,跨域问题愈发常见且重要。近期,OWASP(开放网络应用安全项目)发布了最新的API安全指南,其中强调了CORS配置的安全风险,并提供了如何合理设置@CrossOrigin注解属性以防止恶意来源访问的建议。
例如,在实际生产环境中,应避免使用“*”通配符允许所有源进行跨域请求,而是明确指定可信任的域名列表。同时,对于敏感操作,应通过allowCredentials属性控制是否允许浏览器发送凭据信息,确保用户身份验证与授权机制的有效性。此外,还可以结合Spring Security等安全框架,实施更细粒度的CORS策略控制。
另外,随着HTTP/2、Service Workers等现代Web技术的演进,跨域请求的处理方式也在不断发展。例如,可以利用预加载(Preflight Requests)优化性能,通过maxAge属性设定合理的缓存时间,减少不必要的预检请求,提升用户体验。
综上所述,深入理解并正确运用@CrossOrigin注解仅仅是解决跨域问题的第一步,开发者还需关注行业最新动态,紧跟安全规范,才能在保证功能需求的同时有效防范潜在的安全威胁,提供高效、安全的RESTful API服务。
知识学习
实践的时候请根据实际情况谨慎操作。
随机学习一条linux命令:
nohup command & - 使命令在后台持续运行,即使退出终端也不停止。
随便看看
拉到页底了吧,随便看看还有哪些文章你可能感兴趣。
数据库事务提交失败:数据同步中网络连接与资源管理问题分析 02-04 Kiali驱动的Kubernetes管理:云原生时代下的微服务环境可视化监控与操作实践 09-05 实用输入域表情符号选择器jQuery插件 01-06 Kubernetes (k8s) Namespace 中资源配额管理与CPU、内存优化配置实践 12-27 [转载]【总结】AWS的(助理)架构师认证体系详解 11-29 黑色奶茶饮料公司响应式模板下载 11-07 大气后台网站会员html登录页面模板 08-25 [转载]JeeWx捷微3.3 版本发布—JAVA开源微信管家 08-22 传智书城html代码 08-22 本次刷新还10个文章未展示,点击 更多查看。
Linux系统服务启动失败的精准排查:systemctl状态检查、配置文件审查与日志分析,解决依赖服务及资源限制问题 06-29 [转载]opendaylight-O版本与openstack集成 06-08 响应式商务礼品设计制造类企业前端模板下载 05-27 渐变大气后台管理系统响应式网站模板 05-23 [转载]清华都老师介绍windows下的mpich的经验 04-09 响应式化妆美容香水类企业前端CMS模板下载 03-16 vue响应回车 02-27 Maven依赖管理中Artifact无源码问题:从仓库获取sources.jar的解决方案与IDEA设置 01-31 蓝色宽屏公有云云计算公司网站模板 01-24 [转载]java getvalueat_Java swing jdbc:设置背景颜色,获取素材方法,表格,图片等的切换【诗书画唱】... 01-18 灰色网上产品销售商店HTML5模板 01-03
时光飞逝
"流光容易把人抛,红了樱桃,绿了芭蕉。"