使用Spring Boot的跨源CORS設定
1. 問題
在學習Angular時,使用以下程式碼發起POST請求,
this.http.post("http://localhost:8899/login", body, {headers: headers})
會出現以下錯誤提示。
已攔截跨源請求:同源策略禁止讀取位於 http://localhost:8899/login 的遠端資源。(原因:CORS 頭缺少 'Access-Control-Allow-Origin')。
原因是使用得RESTful微服務沒有配置跨源CORS設定。
2. 解決
使用Spring Boot的@Configuration和@Bean追加一個基於Filter的CORS配置。使用到的類有:CorsConfiguration和UrlBasedCorsConfigurationSource。
程式碼如下:
@Configuration public class SecurityCorsConfiguration { @Bean public FilterRegistrationBean corsFilter() { UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); CorsConfiguration config = new CorsConfiguration(); config.setAllowCredentials(true); config.addAllowedOrigin("http://localhost:4200"); config.addAllowedHeader(CorsConfiguration.ALL); config.addAllowedMethod(CorsConfiguration.ALL); source.registerCorsConfiguration("/**", config); FilterRegistrationBean bean = new FilterRegistrationBean(new CorsFilter(source)); bean.setOrder(Ordered.HIGHEST_PRECEDENCE); return bean; } }
相關推薦
使用Spring Boot的跨源CORS設定
1. 問題 在學習Angular時,使用以下程式碼發起POST請求, this.http.post("http://localhost:8899/login", body, {headers: headers}) 會出現以下錯誤提示。 已攔截跨源請求:同源策略禁止讀
Spring-Boot v2.0.5 設定跨域訪問
在@Configuration註解下的類中新增如下配置 @Bean public WebMvcConfigurer corsConfigurer() { return new WebMvcConfig
spring boot 中通過CORS實現跨域
一、跨域問題出現的原因 出現跨域問題的原因是同源策略。 同源策略 主要是三同:同協議、同域名、同埠, 同源策略目的 保證使用者資訊保安,防止惡意網站竊取資料。同源策略是必須的,否則cookie可以共享。 同源策略的限制範圍 cookie、localstorage、indexdb
spring boot 跨域問題,很細節
spring boot 跨域問題(CROS): 法1、 @Configuration public class CustomCorsConfiguration extend WebMvcConfigurerAdapter{ @Override &nb
spring boot 跨域配置
新建如下JAVA類: import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springf
Spring Boot快取實戰 Redis 設定有效時間和自動重新整理快取,時間支援在配置檔案中配置
問題描述 Spring Cache提供的@Cacheable註解不支援配置過期時間,還有快取的自動重新整理。 我們可以通過配置CacheManneg來配置預設的過期時間和針對每個快取容器(value)單獨配置過期時間,但是總是感覺不太靈活。下面是一個示例: @Bean
spring-boot 利用 actuator 動態設定 logging 的日誌級別
引子 已經上線的服務通常情況下都會關閉日誌列印功能。但是一但進行排錯的時候,又必須開啟日誌輸出,而修改日誌級別的方式有多種。這裡只說明個人認為最優的方式 依賴 spring-boot、spring-boot-actuator 方式 定義一個
spring-boot-devtools熱部署設定
引入pom.xml<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</art
spring-boot idea開發工具設定
本節介紹一些 Ieda-2017.2.x使用及基本配置,部分資料來源網友提供。具體是那個不太記得,只是做了記錄的一些配置過程。1.1. idea破解專業版的intellij可以免費試用30天。為了以後開發方便,經過網路查詢破解方法如下:點選Activate,然後就就可以正常
Spring boot 專案使用mvn設定配置檔案動態引數
在pom.xml中配置profiles,對不同環境配置不同變數的值 <profiles> <profile> <id>
spring boot配置定時任務設定
每天凌晨2點 0 0 2 * * ?和每天隔一小時 0 * */1 * * ?例1:每隔5秒執行一次:*/5 * * * * ?例2:每隔5分執行一次:0 */5 * * * ?在26分、29分、33分執行一次:0 26,29,33 * * * ?例3:每天半夜12點30分
spring boot+ Intellj idea devtool 設定熱部署
兩步: 一、 1、CTRL + SHIFT + A --> 查詢make project automatically --> 選中 2、CTRL + SHIFT + A --> 查詢Registry --> 找到並勾選compiler.automa
處理Spring boot 跨域問題-(轉)
ajax是一種建立互動式網頁應用的網頁開發技術,是一種用於建立快速動態網頁的技術,通過在後臺與伺服器進行少量資料交換。而ajax的跨域問題則是請求了其他專案的介面地址,當協議、子域名、主域名、埠號中任意一個不一樣的時候,都算不同的域。不同域之間的相互請求,就叫跨
spring boot跨域問題--待解決
前後端分離的系統通常會出現跨域問題,最簡單的辦法是在每個controller上面添加註解: @CrossOrigin(origins = "*") 但是,如果要對exception統一進行處理,使用@ControllerAdvice註解一個全域性攔截器後,無法像contr
Spring Boot快取實戰 Redis 設定有效時間和自動重新整理快取-2
問題 上一篇Spring Boot Cache + redis 設定有效時間和自動重新整理快取,時間支援在配置檔案中配置,說了一
Spring Boot Web應用開發 CORS 跨域請求設定 Invalid CORS request
使用SpringBoot Web開發程式時,前後端分離時,經常遇到跨域問題,特別是很多情況下Firefox瀏覽器沒有問題,而chrome瀏覽器有問題,僅僅從瀏覽器的web控制檯很難發現有效的錯誤或者告警資訊,因此在開發程式很有必要在開發階段就考慮到並配置好跨域。 SpringBoot
spring boot Cors 跨域
-a control app ppi map ring als cor spring 在訪問web工程的時候,經常會報一些跨域的錯誤:CORS header ‘Access-Control-Allow-Origin’ missingspring boot中的cors設定方式
header頭設定解決 “已攔截跨源請求:同源策略禁止讀取位於 http://47.104.128.87/back/test/test 的遠端資源。(原因:CORS 頭缺少 'Access-Control-Allow-Origin')。”
跨域請求錯誤提示如下圖: 解決方法在請求的php頁面新增header頭: 程式碼如下: public function test() { //支援全域名訪問,不安全,部署後需要固定限制為客戶端網址 header('Access-Control-Allow-Origin:*'
spring boot 設定跨域規則
@Configuration public class CrossOriginConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) {
go、spring boot、vert.x 用CORS解決跨域
go gin 使用github.com/gin-contrib/cors package main import "github.com/gin-gonic/gin" import "github.com/gin-contrib/cors" func main() {