日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

SpringBoot+Spring Security無法實現(xiàn)跨域的解決方案

瀏覽:205日期:2023-02-24 14:51:17
SpringBoot+Spring Security無法實現(xiàn)跨域未使用Security時跨域:

import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.annotation.Value;import org.springframework.boot.autoconfigure.AutoConfigureBefore;import org.springframework.context.annotation.Configuration;import org.springframework.format.FormatterRegistry;import org.springframework.web.servlet.config.annotation.*;@Configuration@AutoConfigureBefore(SecurityConfig.class)public class MyMvcConfigurer implements WebMvcConfigurer { public void addCorsMappings(CorsRegistry registry){LOGGER.info('跨域已設(shè)置');registry.addMapping('/**').allowedOrigins('*').allowedMethods('*').allowedHeaders('*').allowCredentials(true).maxAge(3600); }}

整合Security時發(fā)現(xiàn)只用上述方法前后端分離時仍存在跨域問題,

解決方法如下:

@Configuration@AutoConfigureBefore(Swagger2Configuration.class)@EnableWebSecurity@EnableGlobalMethodSecurity(prePostEnabled = true)@Order(-1)public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception {http.formLogin().loginProcessingUrl('/user/login').loginPage('/singIn.html').successHandler(moyuAuthenticationSuccessHandler).failureHandler(moyuAuthenticationFailureHandler).and().apply(moyuSocialSecurityConfig).and().rememberMe().tokenRepository(persistentTokenRepository()).tokenValiditySeconds(3600*24*7).userDetailsService(userDetailsService).and().authorizeRequests().antMatchers('/user/login','/login','/singIn.html','**','/**').permitAll().anyRequest().authenticated().and().cors().and().csrf().disable(); }}重點加入代碼:

.and() .cors()//新加入 .and() .csrf().disable();引用Spring Security 項目的跨域處理

最近項目采用了前后端分離的框架,前端和后臺接口沒有部署到一個站點,出現(xiàn)了跨域問題,什么是跨域,這里就不再贅述,直接說解決辦法。

Spring 解決跨域的方式有很多,個人采用了Crosfilter的方式

具體代碼如下:

@Bean public CorsFilter corsFilter() {final UrlBasedCorsConfigurationSource urlBasedCorsConfigurationSource = new UrlBasedCorsConfigurationSource();final CorsConfiguration corsConfiguration = new CorsConfiguration();corsConfiguration.setAllowCredentials(true);corsConfiguration.addAllowedOrigin('*');corsConfiguration.addAllowedHeader('*');corsConfiguration.addAllowedMethod('*');urlBasedCorsConfigurationSource.registerCorsConfiguration('/**', corsConfiguration);return new CorsFilter(urlBasedCorsConfigurationSource); }

配置完成后,測試調(diào)用,報錯401,依然不行。網(wǎng)上查資料得知,跨域請求會進行兩次。具體流程見下圖:

SpringBoot+Spring Security無法實現(xiàn)跨域的解決方案

每次跨域請求,真正請求到達后端之前,瀏覽器都會先發(fā)起一個preflight request,請求方式為OPTIONS 詢問服務(wù)端是否接受該跨域請求,具體參數(shù)如下圖:

SpringBoot+Spring Security無法實現(xiàn)跨域的解決方案

但是該請求不能攜帶cookie和自己定義的header。

由于項目中引入了Spring security ,而我使用的token傳遞方式是在header中使用authorization 字段,這樣依賴Spring Security攔截到 preflight request 發(fā)現(xiàn)它沒有攜帶token,就會報錯401,沒有授權(quán)。

解決這個問題很簡單,可以使用以下配置

讓Spring security 不校驗preflight request 。

@Override public void configure(HttpSecurity http) throws Exception {ExpressionUrlAuthorizationConfigurer<HttpSecurity>.ExpressionInterceptUrlRegistry registry = http.authorizeRequests();registry.requestMatchers(CorsUtils::isPreFlightRequest).permitAll();//讓Spring security放行所有preflight request }

再試就搞定了,但是后端直接配置支持跨域會導(dǎo)致兩次請求。還使用另一種方式,使用Nginx 轉(zhuǎn)發(fā)一下請求也可以。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Spring
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲三级观看| japanese国产精品| 喷白浆一区二区| 伊人久久av| 精品国产不卡一区二区| 国产视频一区二| 视频一区视频二区中文| 国产综合亚洲精品一区二| 婷婷成人在线| 国产女优一区| 国产伦精品一区二区三区千人斩 | 1024精品久久久久久久久| 蜜臀av国产精品久久久久| 亚洲资源网站| 色婷婷精品视频| 日韩精品一区第一页| 美女91精品| 日本麻豆一区二区三区视频| 国产精品nxnn| 在线看片一区| 欧美国产小视频| 亚洲人妖在线| 国产欧美日韩在线观看视频| 免费在线欧美黄色| 99国产精品| 亚洲精品在线二区| 99久久久久国产精品| 欧美另类综合| 米奇777超碰欧美日韩亚洲| 亚洲精品第一| 日韩国产综合| 国产毛片精品| 成人久久久久| 99久久精品费精品国产| 综合亚洲自拍| 视频小说一区二区| 波多视频一区| 国产精品不卡| 日韩成人免费| 亚洲作爱视频| 欧美精品资源| 国产激情综合| 丝袜美腿亚洲一区| 九色精品91| 麻豆高清免费国产一区| 亚洲综合精品四区| а√天堂8资源中文在线| 欧美精品影院| 国产精品毛片在线看| 精品视频一区二区三区在线观看 | 国产精品美女午夜爽爽| 亚洲欧美网站在线观看| 亚洲青青久久| 日韩精品久久理论片| 在线观看精品| 久久xxx视频| 欧美伊人影院| 蜜桃一区二区三区在线| 国产二区精品| 亚洲日韩中文字幕一区| 国产模特精品视频久久久久| 久久精品国产99久久| 视频福利一区| 四虎成人精品一区二区免费网站| 日本在线视频一区二区| 热久久久久久久| 石原莉奈一区二区三区在线观看| 99国产精品久久久久久久| 人人香蕉久久| 久久精品国内一区二区三区水蜜桃| 色乱码一区二区三区网站| 亚洲一级特黄| 在线国产一区二区| 国产不卡精品| 久久久久久夜| 综合一区二区三区| 日韩欧美一区免费| 欧美+日本+国产+在线a∨观看| 国产精品7m凸凹视频分类| 蜜臀va亚洲va欧美va天堂 | 亚洲中午字幕| 国产日韩欧美| 老司机免费视频一区二区| 欧美日韩视频免费观看| 国产一卡不卡| 久久精品国产99久久| 99国产精品私拍| 国产欧美欧美| 激情欧美一区二区三区| 国产午夜一区| 午夜国产欧美理论在线播放| 国产欧美一级| 婷婷综合一区| 美女福利一区二区三区| 欧美日韩亚洲三区| 亚洲免费黄色| 美女精品视频在线| av成人国产| 1024精品久久久久久久久| 清纯唯美亚洲综合一区| 免费人成网站在线观看欧美高清| 日韩一二三区在线观看| 久久国产99| 麻豆精品在线| 蜜臀av一区二区在线免费观看| 欧美日韩国产综合网| 国产欧美日韩精品高清二区综合区| 天堂va蜜桃一区二区三区| 天堂网av成人| 国产精品一区二区三区www| 91精品国产福利在线观看麻豆| 美女精品久久| 日韩精品91亚洲二区在线观看| 日韩高清不卡| 精品精品99| 群体交乱之放荡娇妻一区二区| 国产精品一站二站| 亚洲开心激情| 国产精品毛片一区二区三区| 综合欧美亚洲| 亚洲一区二区免费看| 亚洲综合婷婷| 日韩av在线播放中文字幕| 日韩欧美中文在线观看| 亚洲少妇自拍| 成人羞羞视频播放网站| 香蕉精品999视频一区二区| 色爱综合网欧美| 欧美日韩国产亚洲一区| 精品亚洲美女网站| 色爱av综合网| 婷婷成人在线| 视频一区中文字幕| 精品淫伦v久久水蜜桃| 韩国三级一区| 久久久蜜桃一区二区人| 久久久久久久久丰满| 激情视频一区二区三区| 亚洲一区二区成人| 欧美国产另类| 在线观看免费一区二区| 麻豆久久一区二区| 免费中文字幕日韩欧美| 亚洲精品无播放器在线播放| 亚洲日产国产精品| 天堂√中文最新版在线| 久久久精品五月天| 国产精品免费99久久久| 久草精品视频| 偷拍亚洲精品| 精品欧美日韩精品| 亚洲欧美一区在线| 日本视频一区二区| av资源中文在线| 欧美va天堂在线| 国产一区调教| 国产专区一区| 国产suv精品一区| 亚洲一区网站| 亚洲午夜在线| 欧美精品国产一区| 精品欧美久久| 欧美国产另类| 在线一区免费| 麻豆精品视频在线观看| 日韩一级精品| 激情综合亚洲| 免费在线亚洲欧美| 夜夜嗨一区二区三区| 国产九一精品| 伊人久久大香伊蕉在人线观看热v| 久久久久免费| 日韩一区欧美| 久久九九精品| 美女尤物国产一区| 免费在线观看一区| 亚洲欧洲av| 国产亚洲激情| 视频一区在线播放| 欧美日韩精品免费观看视欧美高清免费大片 | 国产精品黄色片| 国产欧美在线| 久久超级碰碰| 国内精品麻豆美女在线播放视频| 欧美日韩国产高清| 日韩在线观看不卡| 精品三级久久| 国产精品社区| 亚洲无线一线二线三线区别av| 日韩不卡一区| 欧美日韩在线观看首页| 精品三级在线观看视频| 欧美在线日韩| 日本va欧美va欧美va精品| 国产精品入口久久| 91一区二区| 国产一区国产二区国产三区| 国产激情精品一区二区三区| 精品一区视频| 精品一区三区|