欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot前后端分離跨域問題:狀態(tài)碼403拒絕訪問解決辦法

 更新時間:2024年01月10日 11:50:00   作者:烽起黎明  
這篇文章主要給大家介紹了關(guān)于SpringBoot前后端分離跨域問題:狀態(tài)碼403拒絕訪問的解決辦法,403是被服務(wù)器拒絕了,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

最近在寫和同學(xué)一起做一個前后端分離的項目,今日開始對接口準(zhǔn)備進(jìn)行 登錄注冊 的時候發(fā)現(xiàn)前端在發(fā)起請求后,抓包發(fā)現(xiàn)后端返回了一個403的錯誤,解決了很久發(fā)現(xiàn)是【跨域問題】,第一次遇到,便作此記錄?

異常描述

在后端服務(wù)器啟動后,前端頁面也起了起來,然后點擊這個【登錄】按鈕準(zhǔn)備向后端發(fā)起POST請求時卻沒有任何的反應(yīng),便覺得很疑惑

于是來到后端的控制臺觀察是否有什么異常,但是也發(fā)現(xiàn)并沒有任何的異常Exception顯示出來,就覺得很奇怪(?∀?(?∀?(?∀?*)

抓包排查

那么這個時候:提升自己的機會就又來了,我便準(zhǔn)備去查看網(wǎng)頁控制臺并抓包進(jìn)行觀察

再次打開這個網(wǎng)頁發(fā)送請求的時候便發(fā)現(xiàn),出現(xiàn)了兩個 url,仔細(xì)觀察發(fā)現(xiàn)端口號是不一樣的,一個是我服務(wù)器啟動的端口,為8080,另一個呢問了前端的同學(xué)說是它占用的這個端口號,為5173

那么兩個端口號都不一致前端發(fā)起請求后端無法接受到確實是可以解釋得通的

接著仔細(xì)查看這里的英文便可以看到前面的這個localhost:5173已經(jīng)被 CORS策略 給拒絕了,說:不存在“Access Control Allow Origin”這樣的標(biāo)頭,那讀到這里我又可以進(jìn)一步斷定應(yīng)該是【訪問被拒絕】了,但是還無法做出完全的肯定

此時我又去進(jìn)行抓包確認(rèn),連著點了三次登錄按鈕,并通過【Fiddler】進(jìn)行抓包便可以觀察到很醒目的三個403,那么清楚HTTP協(xié)議的狀態(tài)碼的同學(xué)便可以清楚

【403狀態(tài)碼】:表示訪問被拒絕,有的頁面通常需要用戶具有一定的權(quán)限才能訪問(登陸后才能訪問)

例如::查看碼云的私有倉庫, 如果不登陸, 就會出現(xiàn)403

Spring Boot解決跨域問題

那么此時,我們便可以在后端通過SpringBoot去寫一個配置文件,以指定哪個端口是可以進(jìn)行跨域訪問的

以下是相關(guān)的代碼,只需要在config包(一般放配置文件)下添加一個這樣的類即可,因為它是有關(guān)一些配置,所以要加上@Configuration注解

package com.example.demo.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;

@Configuration
public class MyCorsConfig {
    @Bean
    public CorsFilter corsFilter() {
        CorsConfiguration configuration = new CorsConfiguration();
        configuration.addAllowedOrigin(http"://localhost:5173");    // 允許誰跨域
        configuration.setAllowCredentials(true);                    // 傳cookie
        configuration.addAllowedMethod("*");                        // 允許哪些方法跨域 post/get
        configuration.addAllowedHeader("*");                        // 允許哪些頭信息

        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", configuration); // 攔截一切請求

        return new CorsFilter(source);
    }
}

最主要的還是配置下面的這一句,將端口號為5173的口子放開,這樣任何的HTTP請求就可以進(jìn)來了

configuration.addAllowedOrigin("http://localhost:5173");    // 允許誰跨域

此時我們再去看到就可以發(fā)現(xiàn)前后端可以進(jìn)行交互了,只是因著其他的原因讓以至于后端返回了一些錯誤的信息給到前端

總結(jié)

到此這篇關(guān)于SpringBoot前后端分離跨域問題:狀態(tài)碼403拒絕訪問解決辦法的文章就介紹到這了,更多相關(guān)SpringBoot狀態(tài)碼403拒絕訪問內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 聊聊Java中的Native修飾符

    聊聊Java中的Native修飾符

    這篇文章主要介紹了Java中的Native修飾符使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Springboot接收Get參數(shù)實踐過程

    Springboot接收Get參數(shù)實踐過程

    本文主要介紹了在Spring Boot中如何接收不同類型的請求參數(shù),包括在路徑中直接傳遞參數(shù)、跟在問號后面?zhèn)鬟f參數(shù)、使用Map接收參數(shù)、接收數(shù)組以及使用對象接收參數(shù)等方法
    2024-12-12
  • Java踩坑記錄之BigDecimal類

    Java踩坑記錄之BigDecimal類

    這篇文章主要給大家介紹了關(guān)于Java踩坑記錄之BigDecimal類的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Spring Security方法鑒權(quán)的實現(xiàn)

    Spring Security方法鑒權(quán)的實現(xiàn)

    在Spring Security中,主要有兩種鑒權(quán)方式,一個是基于web請求的鑒權(quán),一個是基于方法的鑒權(quán),本文就來介紹一下Spring Security方法鑒權(quán)的實現(xiàn),感興趣的可以了解一下
    2023-12-12
  • SpringBoot之自定義啟動異常堆棧信息打印方式

    SpringBoot之自定義啟動異常堆棧信息打印方式

    這篇文章主要介紹了SpringBoot之自定義啟動異常堆棧信息打印方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Spring Data JPA踩坑記錄(@id @GeneratedValue)

    Spring Data JPA踩坑記錄(@id @GeneratedValue)

    這篇文章主要介紹了Spring Data JPA踩坑記錄(@id @GeneratedValue),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Java去掉字符串最后一個逗號的方法

    Java去掉字符串最后一個逗號的方法

    Java中去掉字符串的最后一個逗號有多種實現(xiàn)方法,不同的方法適用于不同的場景,本文通過實例代碼介紹Java去掉字符串最后一個逗號的相關(guān)知識,感興趣的朋友一起看看吧
    2023-12-12
  • Java樹形菜單的創(chuàng)建

    Java樹形菜單的創(chuàng)建

    這篇文章主要為大家詳細(xì)介紹了Java圖形用戶界面中樹形菜單的創(chuàng)建樹形菜單的創(chuàng)建,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2015-10-10
  • hibernate4快速入門實例詳解

    hibernate4快速入門實例詳解

    Hibernate是一個輕量級的ORMapping框架,本文重點給大家介紹hibernate4 入門實例詳細(xì),需要的朋友參考下吧
    2017-09-09
  • IDEA中的.iml文件和.idea文件夾使用方式

    IDEA中的.iml文件和.idea文件夾使用方式

    這篇文章主要介紹了IDEA中的.iml文件和.idea文件夾使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08

最新評論