Cors過濾器的編寫和編寫的位置

2021-10-10 04:06:20 字數 2449 閱讀 8395

怎麼去配置cors過濾器呢?其實cors過濾器已經在springmvc配置好了,內部檔案邏輯結構也是已經提前寫好了,我們要做的就是需要在配置檔案裡面寫上相對應的開啟配置即可,但是我們需要將這個配置寫在**呢?一般人可能會認為,哪個微服務需要就寫在哪個微服務裡面,但是我們如果有很多個微服務怎麼辦,因此,我們直接寫在閘道器裡面就可以了,就不會造成**的冗餘。

package com.leyou.gateway.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 leyoucorsconfiguration

}

首先我們要配置乙個configuration,宣告它是配置類

@bean

public corsfilter corsfilter(){

接著我們需要用到bean的方法,為什麼我們需要這個bean方法,因為我們用的是springmvc裡面的乙個方法,要用springmvc裡面的方法,你必須要先打上bean注釋,然後接下來我們應該怎麼寫呢?

因為我們寫的是過濾器,所以我們需要編寫過濾器方法是不是,無論寫什麼方法,我們首先要去考慮的東西都是它的返回值,考慮一下它是需不需要返回值的,如果是需要返回值的,那應該返回乙個什麼呢?比如我們這個過濾器,需要返回什麼東西呢?當然是需要返回乙個過濾器方法啦,所以我們需要把返回值型別設為corsfilter,然後去編寫方法。

首先我們要初始化過濾器的源物件:

urlbasedcorsconfigurationsource configurationsource=new urlbasedcorsconfigurationsource();

configurationsource.registercorsconfiguration("/**",configuration);

使用這個registercorsconfiguration方法,這個方法就是傳入兩個物件進來的,乙個是需要校驗什麼路徑,也就是什麼路徑可以跨域,第二個是配置類,這個源物件寫好後,我們就需要去編寫cors配置物件了,也就是最後的匯入的那個configuration。

初始化cors配置物件

corsconfiguration configuration=new corsconfiguration();

// 允許跨域的網域名稱,add可以可以多個,set只有乙個

configuration.addallowedorigin("");

// 允許攜帶cookie

configuration.setallowcredentials(true);

configuration.addallowedmethod("*"); //表示所有請求方法都可以,例如get,post等等

configuration.addallowedheader("*"); //允許攜帶任何頭資訊

這就是配置物件,這個配置物件需要編寫什麼,第乙個就是允許跨域的網域名稱,也就是你寫了這個以後,這個網域名稱開頭的就可以被其他網域名稱訪問,然後設定允不允許訪問cookie,如果允許訪問cookie,那你一定要有上面的那個位址,如果沒有位址是沒辦法訪問cookie,還有的就是允許的請求方法是什麼,我們寫*表示所有的請求方法都可以,比如get post,delete等等請求方法都可以訪問。

還有允許帶哪些請求頭,這裡設定允許攜帶任何請求頭。

configuration寫完了,我們需要去把它加入到cors源物件配置中來,然後最終返回源物件配置configurationsource

執行後,注意看你的相關功能的元件編寫有沒有問題,比如這個

為什麼多了這個位址,因為你在相關元件功能**上加入了manage.leyou.com

如果你訪問的是這個,很難去通過閘道器去訪問後台,修改後就成功了

vue 編寫過濾器

1 起乙個 filters.js 檔案,編寫過過濾器,然後 export 出去,如以下 let money value let tofixed value else 多個引數 let imghost value,w,h export 2 然後在 main.js 裡引入,用 import as 的意思...

過濾器(6) 過濾器的攔截

本系列部落格彙總在這裡 過濾器彙總 我們來做個測試,寫乙個過濾器,指定過濾的資源為 index.jsp,然後我們在瀏覽器中直接訪問 index.jsp,你會發現過濾器執行了!但是,當我們在 helloservlet 中使用伺服器端的跳轉request.getrequestdispathcer ind...

過濾器的使用

以前一直有用過濾器,但是一直沒有仔細看過,前幾天在看完一本jsp設計的時候才真正有了點體會,這是一本比較基礎的書,在這裡我只是記錄下原 目的很簡單,只是記錄一下,也沒有想要解釋什麼 相信大家一看就會明白了,其實我也不是什麼髙手,只是看到了記錄下來,當成筆記 我想大家感興趣的話還是要買本有此類介紹的書...