SpringSecurity如何配置跨域訪問(wèn)
說(shuō)明
java后端web服務(wù)有很多種方法可以實(shí)現(xiàn)跨域訪問(wèn),配置很簡(jiǎn)單,今天這里我們用SpringSecurity的方式配置跨域訪問(wèn)
配置方法如下:
package com.wisea.config;
import org.springframework.context.annotation.Bean;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
}
@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
CorsConfiguration corsConfiguration = new CorsConfiguration();
corsConfiguration.addAllowedOrigin("*");
corsConfiguration.addAllowedHeader("*");
corsConfiguration.addAllowedMethod("*");
corsConfiguration.setAllowCredentials(true);
source.registerCorsConfiguration("/**", corsConfiguration);
return new CorsFilter(source);
}
}
其他
看網(wǎng)上的配置里會(huì)有代碼如下:
@Override
protected void configure(HttpSecurity http) throws Exception {
http.cors();
...
}實(shí)際上并不起什么作用,總結(jié),當(dāng)工程中開(kāi)啟了@EnableWebSecurity的時(shí)候,我們只需要讓spring容器中存在一個(gè)CorsFilter的跨域過(guò)濾器即可。
some days 幾天發(fā)現(xiàn)問(wèn)題:
當(dāng)請(qǐng)求的中有redirect時(shí),上面這段代碼就必須了。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
教你怎么用Java數(shù)組和鏈表實(shí)現(xiàn)棧
本篇文章為大家詳細(xì)介紹了怎么用Java數(shù)組和鏈表實(shí)現(xiàn)棧,文中有非常詳細(xì)的代碼示例及注釋,對(duì)正在學(xué)習(xí)java的小伙伴們很有幫助,需要的朋友可以參考下2021-05-05
Java實(shí)現(xiàn)添加文字水印和圖片水印功能
為圖片添加水印是一種常用的圖片處理技術(shù),本文主要介紹了Java實(shí)現(xiàn)添加文字水印和圖片水印功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05
MyBatis使用<foreach>標(biāo)簽like查詢(xún)報(bào)錯(cuò)解決問(wèn)題
這篇文章主要介紹了MyBatis使用<foreach>標(biāo)簽like查詢(xún)報(bào)錯(cuò)解決問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03
JAVA Iterator接口與增強(qiáng)for循環(huán)的實(shí)現(xiàn)
這篇文章主要介紹了JAVA Iterator接口與增強(qiáng)for循環(huán)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
Java對(duì)文件的隨機(jī)讀寫(xiě)以及壓縮處理操作
這篇文章主要介紹了Java對(duì)文件的隨機(jī)讀寫(xiě)以及壓縮處理操作,是Java入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-10-10
通過(guò)IDEA快速定位和排除依賴(lài)沖突問(wèn)題
這篇文章主要介紹了通過(guò)IDEA快速定位和排除依賴(lài)沖突問(wèn)題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-06-06
Java?中很好用的數(shù)據(jù)結(jié)構(gòu)(你絕對(duì)沒(méi)用過(guò))
今天跟大家介紹的就是?java.util.EnumMap,也是?java.util?包下面的一個(gè)集合類(lèi),同樣的也有對(duì)應(yīng)的的?java.util.EnumSet,對(duì)java數(shù)據(jù)結(jié)構(gòu)相關(guān)知識(shí)感興趣的朋友一起看看吧2022-05-05

