@CrossOrigin 解决跨域资源共享(CORS)问题

news/2024/10/12 21:18:32/

        @CrossOrigin 是一个 Spring 框架提供的注解,用于解决跨域资源共享(CORS)问题。跨域问题通常发生在当一个网页尝试通过 AJAX 请求访问与该网页不同源(协议、域名或端口不同)的资源时。由于浏览器的同源策略限制,这种请求会被阻止。

        使用 @CrossOrigin 注解可以告诉 Spring 框架,允许来自不同源的请求访问特定的控制器方法或整个控制器。这个注解可以应用在类级别或方法级别:

  • 在类级别:作用于类中的所有处理方法。
  • 在方法级别:仅作用于特定的处理方法。

 @CrossOrigin 注解的一些常用属性包括:

  • origins:指定允许访问的域,可以使用通配符 * 表示允许所有域。
  • methods:指定允许的 HTTP 方法,如 GETPOSTPUTDELETE 等。
  • allowedHeaders:指定允许的请求头。
  • exposedHeaders:指定允许客户端访问的响应头。
  • allowCredentials:是否允许发送Cookie。设置为 "true" 时,origins 不能使用 * 通配符。
  • maxAge:预检请求的结果可以被缓存的时间。

        例如,以下代码展示了如何在控制器类级别启用跨域支持,允许所有域通过 GET 和 POST 方法访问:

@CrossOrigin(origins = "*", methods = {RequestMethod.GET, RequestMethod.POST})
@RestController
@RequestMapping("/api")
public class MyController {// 控制器方法
}

在使用  @CrossOrigin 时,需要注意以下几点:

  1. 安全性:在生产环境中,应谨慎使用 * 通配符,因为它会允许任何域的访问,可能会带来安全风险。
  2. 预检请求:对于非简单请求(如使用除 GETHEADPOST 之外的方法,或者 Content-Type 不是 text/plainapplication/x-www-form-urlencodedmultipart/form-data),浏览器会先发送一个 OPTIONS 请求进行预检。
  3. 配置优先级:如果同时在类和方法上使用了 @CrossOrigin 注解,Spring 会合并这些注解的属性以创建最终的 CORS 配置。

http://www.ppmy.cn/news/1538031.html

相关文章

【阅读笔记】水果轻微损伤的无损检测技术应用

一、水果轻微损伤检测技术以及应用 无损检测技术顾名思义就是指在不破坏水果样品完整性的情况下对样品进行品质鉴定。目前比较常用的农产品水果类无损检测法有:基于红外热成像、机器视觉技术的图像处理方法、光谱检测技术、介电特性技术检测法等。 1.1 基于红外热…

Flutter全局统一自定义导航栏返回按钮

Flutter全局统一自定义导航栏返回按钮 在Flutter开发中,导航栏(AppBar)是用户界面的重要组成部分,它不仅提供了页面标题,还可能包含返回按钮、导航按钮等。默认情况下,每个Scaffold的AppBar都会包含一个返…

ade20k 街景图像【数据集】及其【论文出处】ADE20K数据集 超过25000张图像的语义分割数据集

ade20k 街景图像【数据集】及其【论文出处】ADE20K数据集介绍 是一个包含超过25000张图像的语义分割数据集,这些图像被密集注释,覆盖室内和室外场景。 它由MIT发布,包含100个事物类别和50个物质类别, 用于训练和验证的图像数量分别…

Windows绕过火绒添加用户

目录 背景 绕过火绒 背景 1. 已攻入windows系统 2. 已提权 3. 准备添加一个用户进行远程桌面 4. 该windows系统存在火绒 绕过火绒 1. 尝试添加用户远程连接 net user newuser password123 /add net localgroup administrators newuser /add 但添加用户时又回显超时,想…

毕设开源 大数据电影数据分析与可视化系统(源码+论文)

文章目录 0 前言1 项目运行效果2 设计概要3 最后 0 前言 🔥这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师…

java 自定义填充excel并导出

首先在resources下面放一个excel模板 1. 方法签名和请求映射 RequestMapping(value "/ExportXls") public ResponseEntity<byte[]> rwzcExportXls(HttpServletRequest request, RequestBody JSONArray jsonArray) throws IOException { RequestMapping(val…

智汇云舟亮相WAFI世界农业科技创新大会,并参编数字农业产业图谱

10月10日&#xff0c;2024WAFI世界农业科技创新大会农食行业创新与投资峰会在北京金海湖国际会展中心举行。中国农业大学MBA教育中心主任、教授付文阁、平谷区委常委、统战部部长刘堃、华为公共事业军团数字政府首席专家刘丹、荷兰瓦赫宁根大学前校长Aalt Dijkhuizen、牧原食品…

OpenCV-风格迁移

文章目录 一、原理二、关键步骤三、实现方法四、可选参数五、示例代码六、总结 OpenCV中的风格迁移是一种计算机视觉技术&#xff0c;它允许用户将一种图像的风格转移到另一幅图像上&#xff0c;从而创造出具有独特美学效果的新图像。这种技术在艺术、设计和娱乐等领域有着广泛…