Java面试题更新 2026-08-05

在Spring Boot应用中,解决浏览器跨域资源共享限制的常用手段有哪些?请阐述实现机制与配置方式。

后端开发安全意识技术原理JavaSpring Boot

考察说明

考查对Spring Boot中CORS处理机制和配置方法的掌握程度。

回答思路

  1. 【回答框架 1】跨域资源共享CORS是一种HTTP头机制,允许服务器声明哪些源站可以访问其资源,Spring Boot可通过全局配置或方法注解实现。
  2. 【回答框架 2】全局配置通过实现WebMvcConfigurer接口的addCorsMappings方法,可设置路径映射、允许的来源、方法和头部,以及是否允许携带凭证。
  3. 【回答框架 3】局部配置使用@CrossOrigin注解,可作用于控制器类或方法,属性包括origins、methods、allowedHeaders等,适合精细化控制。
  4. 【回答框架 4】需注意安全设置,如允许凭证时不能用通配符来源,且应限制允许的方法和头部以降低风险。
  5. 【关键点 1】CORS是基于HTTP响应头的浏览器安全机制,Spring Boot支持配置全局或方法级跨域规则。
  6. 【关键点 2】WebMvcConfigurer的addCorsMappings用于配置全局跨域策略,@CrossOrigin用于局部控制。
  7. 【关键点 3】配置时需明确允许的来源、方法、请求头,并注意allowCredentials为true时不能用*通配来源。
  8. 【易错点 1】混淆CORS与CSRF,CORS是允许跨域访问,CSRF是防止跨站请求伪造,两者安全目标不同。
  9. 【易错点 2】误设allowCredentials为true且使用通配符*,会导致非法配置被浏览器拒绝。