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

您的位置:首頁技術文章
文章詳情頁

SpringBoot+Spring Security無法實現跨域的解決方案

瀏覽:202日期:2023-02-24 14:51:17
SpringBoot+Spring Security無法實現跨域未使用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('跨域已設置');registry.addMapping('/**').allowedOrigins('*').allowedMethods('*').allowedHeaders('*').allowCredentials(true).maxAge(3600); }}

整合Security時發現只用上述方法前后端分離時仍存在跨域問題,

解決方法如下:

@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 項目的跨域處理

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

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); }

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

SpringBoot+Spring Security無法實現跨域的解決方案

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

SpringBoot+Spring Security無法實現跨域的解決方案

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

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

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

讓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 }

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

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
深夜福利视频一区二区| 日本亚洲视频| 美女av一区| 亚洲精品**中文毛片| 久久精品动漫| 欧美精选一区二区三区| 99亚洲视频| 国产亚洲高清一区| 国产精品国产三级国产在线观看| 精品国产免费人成网站| 亚洲精品123区| 深夜视频一区二区| 亚洲欧美日韩综合国产aⅴ| 亚洲天堂av资源在线观看| 国产精品精品| 不卡一区2区| 蜜臀av性久久久久蜜臀aⅴ流畅| 日本午夜精品视频在线观看| 成人午夜网址| 天堂久久一区| 欧美精品91| 香蕉成人久久| 国产成人久久精品麻豆二区| 国产一在线精品一区在线观看| 亚洲免费资源| 97精品一区二区| 精品国产鲁一鲁****| 蜜桃av.网站在线观看| 国产精品1区| 中文字幕av一区二区三区四区| 日韩免费福利视频| 日本午夜精品一区二区三区电影| 久久国产小视频| 欧美国产中文高清| 偷拍亚洲精品| 欧美一级精品| yellow在线观看网址| 国产亚洲一区二区三区不卡| 亚洲女人av| 视频小说一区二区| 日韩精品中文字幕第1页| 国产精品久久久久久久久久妞妞 | 91精品尤物| 欧美中文字幕一区二区| 国产精品亚洲综合在线观看| 黑丝一区二区三区| 国产aa精品| 国产伦一区二区三区| 蜜臀久久99精品久久久画质超高清| 欧美极品一区二区三区| 亚洲精品动态| 一区二区亚洲视频| 最新亚洲激情| 国产一区日韩一区| 日韩久久精品| 91亚洲国产成人久久精品| 国产精品黄色片| 97se亚洲| 国产欧美综合一区二区三区| 日本aⅴ免费视频一区二区三区| 亚洲欧美视频| 亚洲综合精品四区| 欧美日韩精品一本二本三本 | 日韩一区二区久久| 亚洲国产专区校园欧美| 在线视频观看日韩| 亚州av乱码久久精品蜜桃| 亚洲性色视频| 久久大逼视频| 国产日韩在线观看视频| 欧美国产中文高清| 国产精品字幕| 免费日韩av| 99国产精品私拍| 亚洲精品少妇| 国产精品久久久久av蜜臀| 欧美激情麻豆| 国产精品黑丝在线播放| 欧美日韩一二三四| 蜜桃一区二区三区在线观看| 欧美特黄一区| 久久精品99久久久| 狠狠久久伊人中文字幕| 亚洲天堂久久| **爰片久久毛片| 天堂中文在线播放| 午夜宅男久久久| 国产精品九九| 成人午夜精品| 日本欧美一区二区| 久久精品欧洲| 久热精品在线| 精品99在线| 蜜桃传媒麻豆第一区在线观看 | 亚洲激情五月| 国产精品亚洲二区| 在线视频观看日韩| 久久国产三级精品| 欧美不卡在线| 国产精品亚洲人成在99www| 国产不卡一区| 婷婷亚洲成人| 亚洲高清久久| 国产精品成久久久久| 亚洲精品九九| 婷婷精品进入| 日韩av专区| 久久99久久久精品欧美| 久久国产精品久久w女人spa| 精品无人区麻豆乱码久久久| 免播放器亚洲一区| 欧美不卡视频| 麻豆mv在线观看| 精品午夜av| 国产欧美日韩综合一区在线播放| 欧美.日韩.国产.一区.二区| 日韩av成人高清| 丝袜美腿高跟呻吟高潮一区| 欧美日韩视频网站| 高清av一区| 国产成人久久精品一区二区三区| 欧美日韩中出| 欧美日韩亚洲三区| 青青草国产成人99久久| 伊人www22综合色| 欧美专区在线| 中文字幕系列一区| 亚洲伦乱视频| 成人高清一区| 亚洲爱爱视频| 日韩黄色大片网站| 久久免费高清| 伊人久久av| 欧洲精品一区二区三区| 国产高潮在线| а√天堂8资源中文在线| 久久精品色播| 成人在线视频免费看| 麻豆传媒一区二区三区| 国产精品网在线观看| 欧美精品国产| 国产精品二区不卡| 国产尤物精品| 亚洲综合精品| 三级亚洲高清视频| 亚洲激情社区| 欧美va天堂在线| av一区二区高清| 国产美女一区| 欧美日韩国产一区二区在线观看| 国产精品日本一区二区三区在线| 免费福利视频一区二区三区| 99精品综合| 丝袜美腿高跟呻吟高潮一区| 欧美一级久久| 亚洲成人va| 日韩精品视频一区二区三区| 亚洲精品日本| 国产欧美高清| 1024精品一区二区三区| 999国产精品| 蜜桃久久av| 麻豆一区二区三| 91综合视频| 亚洲一级大片| 久久99久久久精品欧美| 91九色精品国产一区二区| 国产日韩中文在线中文字幕| 高清不卡亚洲| 亚洲专区视频| 久久精品亚洲人成影院| 日韩精品亚洲专区| 久久影院午夜精品| 日本 国产 欧美色综合| 麻豆国产欧美日韩综合精品二区| 91欧美国产| 欧美日韩亚洲一区在线观看| 久久久噜噜噜| 国产精品igao视频网网址不卡日韩 | 国产经典一区| 亚洲欧美专区| 99香蕉国产精品偷在线观看 | 国产亚洲一区二区手机在线观看| 亚洲一区久久| 蜜桃国内精品久久久久软件9| 久久精品国产福利| 国产福利资源一区| 国产视频网站一区二区三区| 蜜臀精品久久久久久蜜臀 | 蜜桃av一区二区| 在线视频免费在线观看一区二区| 国产精品国产一区| 成人国产精品久久| 美女久久久久久 | 久久国产三级| 美女av一区| 97精品一区二区| 日韩一区二区三区免费| 久久婷婷亚洲| 伊人久久亚洲美女图片|