
- Spring Boot 教程
- Spring Boot - 首頁
- Spring Boot - 簡介
- Spring Boot - 快速入門
- Spring Boot - 引導
- Spring Tool Suite
- Spring Boot - Tomcat 部署
- Spring Boot - 構建系統
- Spring Boot - 程式碼結構
- Spring Bean & 依賴注入
- Spring Boot - 執行器
- Spring Boot - 啟動器
- Spring Boot - 應用屬性
- Spring Boot - 配置
- Spring Boot - 註解
- Spring Boot - 日誌
- 構建 RESTful Web 服務
- Spring Boot - 異常處理
- Spring Boot - 攔截器
- Spring Boot - Servlet 過濾器
- Spring Boot - Tomcat 埠號
- Spring Boot - Rest 模板
- Spring Boot - 檔案處理
- Spring Boot - 服務元件
- Spring Boot - Thymeleaf
- 使用 RESTful Web 服務
- Spring Boot - CORS 支援
- Spring Boot - 國際化
- Spring Boot - 排程
- Spring Boot - 啟用 HTTPS
- Spring Boot - Eureka 伺服器
- 使用 Eureka 進行服務註冊
- 閘道器代理伺服器和路由
- Spring Cloud 配置伺服器
- Spring Cloud 配置客戶端
- Spring Boot - Actuator
- Spring Boot - Admin 伺服器
- Spring Boot - Admin 客戶端
- Spring Boot - 啟用 Swagger2
- Spring Boot - 使用 SpringDoc OpenAPI
- Spring Boot - 建立 Docker 映象
- 跟蹤微服務日誌
- Spring Boot - Flyway 資料庫
- Spring Boot - 傳送郵件
- Spring Boot - Hystrix
- Spring Boot - Web Socket
- Spring Boot - 批處理服務
- Spring Boot - Apache Kafka
- Spring Boot - Twilio
- Spring Boot - 單元測試用例
- Rest Controller 單元測試
- Spring Boot - 資料庫處理
- 保護 Web 應用程式
- Spring Boot - 使用 JWT 的 OAuth2
- Spring Boot - Google Cloud Platform
- Spring Boot - Google OAuth2 登入
- Spring Boot 資源
- Spring Boot - 快速指南
- Spring Boot - 有用資源
- Spring Boot - 討論
Spring Boot - CORS 支援
跨源資源共享 (CORS) 是一種安全概念,允許限制在 Web 瀏覽器中實現的資源。它可以防止 JavaScript 程式碼對不同來源發出或使用請求。
例如,您的 Web 應用程式在 8080 埠上執行,並且您正在使用 JavaScript 從 9090 埠使用 RESTful Web 服務。在這種情況下,您將在 Web 瀏覽器上遇到跨源資源共享安全問題。
處理此問題需要兩個要求:
RESTful Web 服務應支援跨源資源共享。
RESTful Web 服務應用程式應允許從 8080 埠訪問 API。
在本章中,我們將詳細瞭解如何為 RESTful Web 服務應用程式啟用跨源請求。
在控制器方法中啟用 CORS
我們需要使用@CrossOrigin註解為控制器方法設定 RESTful Web 服務的來源。此 @CrossOrigin 註解支援特定的 REST API,而不是整個應用程式。
@RequestMapping(value = "/products") @CrossOrigin(origins = "https://:8080") public ResponseEntity<Object> getProduct() { return null; }
全域性 CORS 配置
我們需要定義所示的 @Bean 配置,以便全域性地將 CORS 配置支援設定為您的 Spring Boot 應用程式。
@Bean public WebMvcConfigurer corsConfigurer() { return new WebMvcConfigurer() { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/products").allowedOrigins("https://:9000"); } }; }
在主 Spring Boot 應用程式中全域性設定 CORS 配置的程式碼如下所示。
DemoApplication.java
package com.tutorialspoint.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } @Bean public WebMvcConfigurer corsConfigurer() { return new WebMvcConfigurer() { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/products").allowedOrigins("https://:8080"); } }; } }
現在,您可以建立一個在 8080 埠上執行的 Spring Boot Web 應用程式,以及可以在 9090 埠上執行的 RESTful Web 服務應用程式。有關 RESTful Web 服務實現的更多詳細資訊,您可以參考本教程中名為使用 RESTful Web 服務的章節。
廣告