目錄
什麼是跨域
解決跨域
局部解決(使用註解)
全域解決
首頁 Java java教程 SpringBoot如何實現全域和局部跨域

SpringBoot如何實現全域和局部跨域

May 14, 2023 pm 11:16 PM
springboot

什麼是跨域

所謂的跨域請求就是指:目前發起請求的域與該請求指向的資源所在的域不一樣。這裡的域指的是這樣的一個概念:我們認為若協定 網域 埠號都相同,那就是同域。

解決跨域

後端解決跨域,主要藉助cors

局部解決(使用註解)

可以使用註解:@CrossOrigin

該註解開啟之後,就可以解決跨域問題,它可以加在controller中,表面這個controller中的全部方法都經過跨域處理,也可以單獨加在某個方法上,表示只有這一個方法經過跨域處理

SpringBoot如何實現全域和局部跨域

但是它的預設值為*,也就是預設全部放行,理論來說不太安全

SpringBoot如何實現全域和局部跨域

如果專案裡面又多個controller或多個方法,使用註解就會顯得非常雞肋,如果一個一個加太麻煩了,這時候就可以使用全域註解了

全域解決

原理:建立一個配置類,開啟跨域註冊,並使用@Configuration註解把這個類當作一個配置注入到項目中

我們可以自由配置請求方式,以及網域權限,請求時間,更細緻的去控制跨域範圍

package com.wyh.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * @Description: 解决全局跨域
 * @Author: 魏一鹤
 * @Date: 2022-11-30 22:44
 **/

@Configuration
public class CorsMapping implements WebMvcConfigurer {

    @Override
    /**
     * 重新跨域支持方法
     * CorsRegistry  开启跨域注册
     */
    public void addCorsMappings(CorsRegistry registry) {
        //addMapping 添加可跨域的请求地址
        registry.addMapping("/**")
                //设置跨域 域名权限 规定由某一个指定的域名+端口能访问跨域项目
                .allowedOrigins("*")
                //是否开启cookie跨域
                .allowCredentials(false)
                //规定能够跨域访问的方法类型
                .allowedMethods("GET","POST","DELETE","PUT","OPTIONS")
                //添加验证头信息  token
                //.allowedHeaders()
                //预检请求存活时间 在此期间不再次发送预检请求
                .maxAge(3600);
    }
}
登入後複製

注意:千萬不要忘了@Configuration註解,不然配置是無效的! ! !

SpringBoot如何實現全域和局部跨域

以上是SpringBoot如何實現全域和局部跨域的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Springboot怎麼整合Jasypt實現設定檔加密 Springboot怎麼整合Jasypt實現設定檔加密 Jun 01, 2023 am 08:55 AM

Springboot怎麼整合Jasypt實現設定檔加密

怎麼在SpringBoot中使用Redis實現分散式鎖 怎麼在SpringBoot中使用Redis實現分散式鎖 Jun 03, 2023 am 08:16 AM

怎麼在SpringBoot中使用Redis實現分散式鎖

SpringBoot怎麼整合Redisson實現延遲隊列 SpringBoot怎麼整合Redisson實現延遲隊列 May 30, 2023 pm 02:40 PM

SpringBoot怎麼整合Redisson實現延遲隊列

SpringBoot與SpringMVC的比較及差別分析 SpringBoot與SpringMVC的比較及差別分析 Dec 29, 2023 am 11:02 AM

SpringBoot與SpringMVC的比較及差別分析

springboot讀取檔案打成jar包後存取不到怎麼解決 springboot讀取檔案打成jar包後存取不到怎麼解決 Jun 03, 2023 pm 04:38 PM

springboot讀取檔案打成jar包後存取不到怎麼解決

SpringBoot怎麼自訂Redis實作快取序列化 SpringBoot怎麼自訂Redis實作快取序列化 Jun 03, 2023 am 11:32 AM

SpringBoot怎麼自訂Redis實作快取序列化

Springboot+Mybatis-plus不使用SQL語句進行多表新增怎麼實現 Springboot+Mybatis-plus不使用SQL語句進行多表新增怎麼實現 Jun 02, 2023 am 11:07 AM

Springboot+Mybatis-plus不使用SQL語句進行多表新增怎麼實現

springboot怎麼取得application.yml裡值 springboot怎麼取得application.yml裡值 Jun 03, 2023 pm 06:43 PM

springboot怎麼取得application.yml裡值

See all articles