成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

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

Spring Cloud項(xiàng)目前后端分離跨域的操作

瀏覽:5日期:2023-07-06 13:26:14
跨域問題,其實(shí)百度上面有一堆的解決方案

針對普通的情況其實(shí)百度上面的方案都是可行的。

我這里主要介紹2種情況。

當(dāng)然我這里的配置都是基于網(wǎng)關(guān)的,而不是基于服務(wù)的。

1、沒有增加權(quán)限驗(yàn)證。

2、增加了spring security的權(quán)限驗(yàn)證(我這里是基于keyCloak),增加了Authorization

首先我們介紹第一種情況的解決方法,這個(gè)很簡單,只需要在啟動類里面配置過濾器就可以解決。

@Bean public CorsFilter corsFilter() {//1.添加CORS配置信息CorsConfiguration config = new CorsConfiguration(); //放行哪些原始域 config.addAllowedOrigin('*'); //是否發(fā)送Cookie信息 config.setAllowCredentials(true); //放行哪些原始域(請求方式) config.addAllowedMethod('*'); //放行哪些原始域(頭部信息) config.addAllowedHeader('*'); //暴露哪些頭部信息(因?yàn)榭缬蛟L問默認(rèn)不能獲取全部頭部信息) config.addExposedHeader('*'); //2.添加映射路徑UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource();configSource.registerCorsConfiguration('/**', config); //3.返回新的CorsFilter.return new CorsFilter(configSource); }

我遇到情況就是第二種了,這種情況上面的方式基本沒有作用,我這里使用的是keyCloak做的權(quán)限驗(yàn)證。

首先增加過濾器配置:

@Componentpublic class CorsControllerFilter implements Filter{@Overridepublic void destroy() {// TODO Auto-generated method stub} @Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)throws IOException, ServletException {// TODO Auto-generated method stubHttpServletResponse res = (HttpServletResponse) response;res.setContentType('text/html;charset=UTF-8');res.setHeader('Access-Control-Allow-Origin', '*');res.setHeader('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, DELETE ,PUT');res.setHeader('Access-Control-Max-Age', '3600');res.setHeader('Access-Control-Allow-Headers', '*');res.setHeader('Access-Control-Allow-Credentials', 'true');res.setHeader('XDomainRequestAllowed', '1');chain.doFilter(request, response);} @Overridepublic void init(FilterConfig arg0) throws ServletException {// TODO Auto-generated method stub}}

在啟動類中增加配置

@Bean public FilterRegistrationBean filterRegistrationBean() { FilterRegistrationBean registrationBean = new FilterRegistrationBean(); CorsControllerFilter corsControllerFilter = new CorsControllerFilter(); registrationBean.setFilter(corsControllerFilter); return registrationBean; }

但是針對某些請求,他會先請求OPTIONS請求,造成權(quán)限驗(yàn)證失敗。所以增加攔截器配置,對所有的OPTIONS的請求直接放行,返回200的狀態(tài)。

public class OptionsInterceptor implements HandlerInterceptor { @Overridepublic void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)throws Exception {// TODO Auto-generated method stub} @Overridepublic void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)throws Exception {// TODO Auto-generated method stub} @Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {// TODO Auto-generated method stubif(request.getMethod().equals('OPTIONS')){ response.setStatus(HttpServletResponse.SC_OK); return false;}return true;}}

配置web配置文件,加載攔截器。

@Configurationpublic class WebMvcConfiguration extends WebMvcConfigurationSupport{ @Override public void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new OptionsInterceptor()).addPathPatterns('/**'); }}

本來以為這樣配置了應(yīng)該是可以了,但是在請求的時(shí)候OPTIONS的請求居然還是報(bào)跨域的問題,增加攔截器允許跨域配置

public class CrossInterceptor implements HandlerInterceptor{ @Override public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3) throws Exception { // TODO Auto-generated method stub } @Override public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception { // TODO Auto-generated method stub } @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { // TODO Auto-generated method stubresponse.setHeader('Access-Control-Allow-Origin', '*');response.setHeader('Access-Control-Allow-Credentials', 'true');response.setHeader('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, DELETE, PUT, HEAD');response.setHeader('Access-Control-Allow-Headers', '*');response.setHeader('Access-Control-Max-Age', '3600');return true; }}

在WebMvcConfiguration里面增加配置,注意要寫在OptionsInterceptor的前面

registry.addInterceptor(new CrossInterceptor()).addPathPatterns('/**');

繼續(xù)測試,跨域問題解決。對于原理其實(shí)我也不太清楚,歡迎各位溝通交流。

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

標(biāo)簽: Spring
相關(guān)文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
成人午夜视频网站| 三级在线观看一区二区| 色婷婷国产精品| 91精品久久久久久蜜臀| 亚洲欧洲成人自拍| 国产在线视频不卡二| 99亚洲一区二区| 欧美一区午夜视频在线观看| 亚洲色图另类专区| 国产91丝袜在线播放九色| 国产一级精品aaaaa看| 日韩精品一区二区三区中文不卡 | 爽好多水快深点欧美视频| 成人美女在线观看| 老鸭窝毛片一区二区三区| 欧美激情在线观看视频免费| 蜜臀av性久久久久蜜臀aⅴ四虎 | 亚洲午夜激情| 日韩精品综合一本久道在线视频| 亚洲成av人片在线| 国内自拍亚洲| 久久综合色8888| 激情久久久久久久久久久久久久久久| 国产日韩1区| 中文字幕国产精品一区二区| 久久综合综合久久综合| 极品av少妇一区二区| 日韩一区二区三| 理论片日本一区| 欧美精品日本| 日韩女优电影在线观看| 免费在线看成人av| 99精品国产一区二区青青牛奶| 久久久噜噜噜久噜久久综合| 国产一区二区在线影院| 欧美亚洲高清一区| 亚洲一区二区三区中文字幕在线| 91蜜桃传媒精品久久久一区二区| 欧美情侣在线播放| 亚洲一区二区视频在线观看| 国产综合亚洲精品一区二| 2023国产精品视频| 成人听书哪个软件好| 欧美日韩国产高清一区二区三区| 午夜天堂影视香蕉久久| 亚洲区欧美区| 最新日韩av在线| 黑人一区二区| 亚洲国产精品成人综合| 大美女一区二区三区| 欧美偷拍一区二区| 舔着乳尖日韩一区| 亚洲免费高清| 中文字幕在线不卡国产视频| 欧美88av| 国产日韩欧美不卡在线| 不卡高清视频专区| 精品少妇一区二区三区视频免付费 | 蜜桃在线一区二区三区| 亚洲欧美高清| 亚洲一区国产视频| 亚洲欧美日韩另类精品一区二区三区 | 一本色道久久综合亚洲精品婷婷 | 中文字幕永久在线不卡| 国产91精品露脸国语对白| 精品粉嫩超白一线天av| 亚洲九九爱视频| 欧美一级在线视频| 99这里有精品| 日本在线不卡一区| 久久综合网络一区二区| 中文字幕人成不卡一区| 日本不卡一二三| 久久伊人中文字幕| 国产女优一区| 狠狠色噜噜狠狠狠狠色吗综合| 日本亚洲视频在线| 波多野结衣中文字幕一区二区三区| 欧美丰满一区二区免费视频| 日韩电影免费在线看| 欧美色图片你懂的| 国产一区欧美一区| 精品国产髙清在线看国产毛片| 成人久久18免费网站麻豆| 26uuu久久天堂性欧美| 成人精品一区二区三区中文字幕| 精品国产a毛片| 欧美在线国产| 国产精品久久久久久久久果冻传媒| 欧美日韩国产一区精品一区| 亚洲天堂2016| 麻豆成人精品| 久久精品国产成人一区二区三区| 欧美福利一区二区| 不卡的av电影在线观看| 国产精品视频免费看| 亚洲免费网址| 日韩黄色免费网站| 欧美日韩精品高清| 成人综合婷婷国产精品久久免费| 精品国产乱码久久久久久久| 国产精品二区二区三区| 亚洲永久免费视频| 欧美性猛交xxxxxx富婆| 国产在线视视频有精品| 久久久九九九九| 亚洲性感美女99在线| 亚洲尤物在线视频观看| 欧美日韩中文精品| 99在线视频精品| 亚洲免费视频中文字幕| 久久一区亚洲| 国产.欧美.日韩| 亚洲国产成人午夜在线一区| 99精品福利视频| 久草这里只有精品视频| 精品电影一区二区| 99精品免费| 久久av中文字幕片| 久久一日本道色综合| 欧美婷婷久久| 天天影视涩香欲综合网| 7777精品伊人久久久大香线蕉最新版| 欧美黄色一区| 国内外精品视频| 亚洲午夜激情网站| 国产精品热久久久久夜色精品三区| 51精品国自产在线| 久久青青草综合| 亚洲国产日韩欧美一区二区三区| 国产精品白丝av| 亚洲国产欧美一区二区三区丁香婷| 久久久精品国产99久久精品芒果| 欧美日韩欧美一区二区| 日韩午夜黄色| 99久久精品情趣| 精品影视av免费| 亚洲成人一区二区在线观看| 国产精品久久久久影院| 日韩网站在线看片你懂的| 在线一区二区三区四区五区 | 色偷偷一区二区三区| 亚洲国产高清一区| 欧美一区视频| 成人h版在线观看| 国产主播一区二区| 五月天激情综合| 亚洲日本电影在线| 欧美国产日韩精品免费观看| 欧美一区二区网站| 精品视频在线视频| 久久综合网络一区二区| 国产精品综合| 亚洲国产片色| 欧美午夜在线视频| 91在线观看一区二区| 国产精品白丝jk黑袜喷水| 美国十次了思思久久精品导航| 亚洲精品久久嫩草网站秘色| 国产精品丝袜91| 国产欧美精品一区二区色综合朱莉 | 国产精品一区二区三区乱码| 极品少妇一区二区| 九九精品一区二区| 韩国欧美一区二区| 天天综合天天做天天综合| 亚洲少妇30p| 亚洲三级在线播放| 中文字幕在线观看不卡| 久久精品一区二区三区不卡| 精品国产一区二区三区久久久蜜月 | 欧美一区三区二区| 91精品国产乱| 欧美精品在线观看一区二区| 欧美三级蜜桃2在线观看| 欧美专区日韩专区| 久久国产88| 亚洲欧美国产不卡| 久久成人国产| 美日韩精品免费| 久久精品国产第一区二区三区最新章节| 亚洲一区二区三区精品动漫| 国产日韩视频| 欧美一级一区| 久久久水蜜桃av免费网站| 久久国产免费| 色久综合一二码| 欧美三级电影精品| 在线不卡免费欧美| 欧美一二三四区在线| 精品免费日韩av| 久久久国产精华| 中文字幕在线观看一区二区| 亚洲男人的天堂在线观看| 亚洲色图一区二区三区| 亚洲午夜视频在线| 青娱乐精品视频| 国产老肥熟一区二区三区| 成人av高清在线| 欧美精选在线|