亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

springboot解決前后端分離時(shí)的跨域問題

瀏覽:103日期:2023-03-16 09:40:01

隨著分布式微服務(wù)的興起,越來越多的公司在開發(fā)web項(xiàng)目的時(shí)候選擇前后端分離的模式開發(fā),前后端分開部署,使得分工更加明確,徹底解放了前端。

我們知道,http請(qǐng)求都是無狀態(tài),現(xiàn)在比較流行的都是jwt的形式處理無狀態(tài)的請(qǐng)求,在請(qǐng)求頭上帶上認(rèn)證參數(shù)(token等),前后端分離有好處,也有壞處,第一次開發(fā)前后端分離項(xiàng)目的人,肯定會(huì)遇到前端請(qǐng)求跨域的問題,這個(gè)怎么處理呢?在說處理方案前,有必要說明一下為什么會(huì)跨域和什么是跨域?

一、為什么會(huì)跨域?

出于瀏覽器的同源策略限制。同源策略(Sameoriginpolicy)是一種約定,它是瀏覽器最核心也最基本的安全功能,如果缺少了同源策略,則瀏覽器的正常功能可能都會(huì)受到影響。可以說Web是構(gòu)建在同源策略基礎(chǔ)之上的,瀏覽器只是針對(duì)同源策略的一種實(shí)現(xiàn)。同源策略會(huì)阻止一個(gè)域的javascript腳本和另外一個(gè)域的內(nèi)容進(jìn)行交互。所謂同源(即指在同一個(gè)域)就是兩個(gè)頁(yè)面具有相同的協(xié)議(protocol),主機(jī)(host)和端口號(hào)(port)

二、什么是跨域?

當(dāng)一個(gè)請(qǐng)求url的協(xié)議、域名、端口三者之間任意一個(gè)與當(dāng)前頁(yè)面url不同即為跨域

當(dāng)前頁(yè)面url 被請(qǐng)求頁(yè)面url 是否跨域 原因 https://www.52fansite.com/ https://www.52fansite.com/index.html 否 同源(協(xié)議、域名、端口號(hào)相同) https://www.52fansite.com/ http://www.52fansite.com/index.html 是 協(xié)議不同(https/http) https://www.52fansite.com/ https://www.baidu.com/ 是 主域名不同(52fansite/baidu) https://www.52fansite.com/ https://layui.52fansite.com/ 是 子域名不同(www/layui) https://www.52fansite.com:8080/ https://www.52fansite.com:8081/ 是 同源(協(xié)議、域名、端口號(hào)相同)

三、處理跨域1、在controller的類上或方法上添加注解

1.1類上加注解

@RestController@CrossOrigin(origins = '*')public class CorsController { @GetMapping('/cors') public String testCors() {return 'success'; }}

1.2方法上加注解

@RestControllerpublic class CorsController { @CrossOrigin(origins = '*') @GetMapping('/cors') public String testCors() {return 'success'; }}2、在啟動(dòng)類配置全局cors(springboot2.0已經(jīng)過時(shí))

@SpringBootApplicationpublic class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } @Bean public WebMvcConfigurer corsConfigurer() { return new WebMvcConfigurerAdapter() { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping('/*').allowedOrigins('*'); } }; }}

替換為

@SpringBootApplicationpublic class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } @Bean public WebMvcConfigurer corsConfigurer() { return new WebMvcConfigurer() { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping('/*').allowedOrigins('*'); } }; }}3、注冊(cè)corsFilter

@Configurationpublic class CorsConfig {@Bean public CorsFilter corsFilter() {final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();final CorsConfiguration config = new CorsConfiguration();config.setAllowCredentials(true);config.addAllowedOrigin('*');config.addAllowedHeader('*');config.addAllowedMethod('*');source.registerCorsConfiguration('/**', config);return new CorsFilter(source); }}

以上就是springboot解決前后端分離時(shí)的跨域問題的詳細(xì)內(nèi)容,更多關(guān)于springboot解決跨域的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 美女被免费网站视频九色 | 爱爱天堂 | 日本特黄绿像大片免费看 | 国产日韩亚洲欧美 | 性做久久久久久久久25的美女 | 亚洲欧洲一二三区机械有限公司 | 国产精品爱啪在线线免费观看 | 麻豆爱爱视频 | 中文字幕国产一区 | 国产精品视频99 | 黄色免费在线看 | 色综合图 | 国产区在线观看 | 在线观看黄色小视频 | 农村妇女色又黄一级毛片不卡 | 欧美卡1卡2卡三卡网站入口 | 国产一区欧美二区 | 国产露脸无套在线观看 | 999国产一区二区三区四区 | 一级特级欧美aa毛片免费 | 国产激情视频在线 | 国产精品亚洲第一区焦香 | 日韩一区精品视频在线看 | 综合久久久久久久综合网 | 性激烈的欧美暴力三级视频 | 高清大学生毛片一级 | 免费又黄又爽又猛大片午夜 | 免费毛片在线视频 | 青青青青久久久久国产的 | 日本xxx免费视频 | 国产精品一区二区三 | www.毛片 | 久久精品中文字幕不卡一二区 | 欧美黄色片视频 | 黑人在线播放 | 日本a在线免费观看 | 免费jizz在在线播放国产 | 久久成年人 | a级黄色网址| 青青综合 | 亚洲一级二级三级 |