成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專(zhuān)欄INFORMATION COLUMN

spring-boot跨域

tomato / 2715人閱讀

摘要:無(wú)攔截器一般情況下直接用就可以搞定了有攔截器比如需要對(duì)用戶(hù)身份進(jìn)行驗(yàn)證瀏覽器在發(fā)送請(qǐng)求時(shí)可能這個(gè)我還要去一下不會(huì)帶上驗(yàn)證信息在攔截器那里就沒(méi)通過(guò)進(jìn)而結(jié)束請(qǐng)求而前面方法的執(zhí)行是在攔截器后面不會(huì)起作用當(dāng)然在攔截器那里判斷如果是方法就通過(guò)也沒(méi)問(wèn)題

無(wú)攔截器 @CrossOrigin

一般情況下,直接用@CrossOrigin就可以搞定了

    @CrossOrigin(origins = "http://localhost:8080")
    @RequestMapping(value = "/cors", method = RequestMethod.GET)
    public Object cors(){
        ...
    }
JavaConfig
@Configuration
@EnableWebMvc
public class WebMvcConfig extends WebMvcConfigurerAdapter {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/cors");
    }

}
有攔截器

比如需要對(duì)用戶(hù)身份進(jìn)行驗(yàn)證

@Component
public class AuthInterceptor extends HandlerInterceptorAdapter{

    private static final Logger logger= LoggerFactory.getLogger(AuthInterceptor.class);

    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler){
        String _authorization = request.getHeader("Authorization");
        logger.info("authorization:{}",_authorization);
        if(_authorization!=null){
            request.setAttribute("authorization",_authorization);
            return true;
        }else{
            response.setStatus(403);
            return false;
        }
    }

}

瀏覽器在發(fā)送OPTION請(qǐng)求時(shí),可能(這個(gè)我還要去google一下)不會(huì)帶上驗(yàn)證信息,在攔截器那里就沒(méi)通過(guò),進(jìn)而結(jié)束請(qǐng)求.而前面方法的執(zhí)行是在攔截器后面,不會(huì)起作用.(當(dāng)然在攔截器那里判斷,如果是OPTION方法就通過(guò),也沒(méi)問(wèn)題)
這就需要另一種方法

@Configuration
@EnableWebMvc
public class WebMvcConfig extends WebMvcConfigurerAdapter {

    @Autowired
    private AuthInterceptor authInterceptor;

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(authInterceptor);
    }

    @Bean
    public FilterRegistrationBean corsFilter() {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        CorsConfiguration config = new CorsConfiguration();
        config.setAllowCredentials(true);
        config.addAllowedOrigin("*");
        config.addAllowedHeader("*");
        config.addAllowedMethod("*");
        source.registerCorsConfiguration("/cors", config);
        FilterRegistrationBean bean = new FilterRegistrationBean(new CorsFilter(source));
        bean.setOrder(0);
        return bean;
    }

}

這個(gè)過(guò)濾器會(huì)在執(zhí)行攔截器前面執(zhí)行

下載

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/66989.html

相關(guān)文章

  • 使用Docker部署Spring-Boot+Vue博客系統(tǒng)

    摘要:先來(lái)看一下容器的文件中間一些操作省略這里用了多階段構(gòu)建容器,如果直接通過(guò)設(shè)置環(huán)境變量只會(huì)在后面一個(gè)階段生效,但是是在第一個(gè)階段執(zhí)行的,所以環(huán)境變量不能應(yīng)用到當(dāng)中。 在今年年初的時(shí)候,完成了自己的個(gè)Fame博客系統(tǒng)的實(shí)現(xiàn),當(dāng)時(shí)也做了一篇博文Spring-boot+Vue = Fame 寫(xiě)blog的一次小結(jié)作為記錄和介紹。從完成實(shí)現(xiàn)到現(xiàn)在,也斷斷續(xù)續(xù)的根據(jù)實(shí)際的使用情況進(jìn)行更新。 只不過(guò)每...

    Eirunye 評(píng)論0 收藏0
  • 《從零構(gòu)建前后分離 WEB 項(xiàng)目》 序 :開(kāi)源的意義

    摘要:從前端到后端到運(yùn)維,經(jīng)歷了幾次前后端架構(gòu)的演變,踩了無(wú)數(shù)的坑,度過(guò)無(wú)數(shù)難免的夜。為了工作或?qū)W習(xí),確實(shí)造過(guò)一些輪子,前端的后端的,也開(kāi)源出來(lái)過(guò)覺(jué)得能提高生產(chǎn)力的。 showImg(https://segmentfault.com/img/bVbgeXP?w=713&h=275); 序: 開(kāi)源的意義 本系列提前首發(fā)地址 背景 從事了近4年的互聯(lián)網(wǎng)行業(yè),逐漸擔(dān)當(dāng)過(guò)團(tuán)隊(duì)的前端到后端的負(fù)責(zé)人,和...

    J4ck_Chan 評(píng)論0 收藏0
  • 《從零構(gòu)建前后分離 WEB 項(xiàng)目》 序 - 開(kāi)源的意義

    摘要:盡量按照前端后端部署運(yùn)維來(lái)講,當(dāng)然中途涉及到跨域這種前后協(xié)調(diào)的還是無(wú)法避免捎帶一筆。關(guān)于我目前在寫(xiě)從零構(gòu)建前后分離項(xiàng)目系列,修正和補(bǔ)充以此為準(zhǔn)不斷更新的項(xiàng)目實(shí)踐地址彩蛋提前預(yù)覽下一章傳送門(mén) 序: 開(kāi)源的意義 本系列提前首發(fā)地址 背景 從事了近4年的互聯(lián)網(wǎng)行業(yè),逐漸擔(dān)當(dāng)過(guò)團(tuán)隊(duì)的前端到后端的負(fù)責(zé)人,和大家一樣從小白逐漸的成長(zhǎng)起來(lái),回首望去幾年前的博客還是那么稚嫩。 回首這幾年: 從一個(gè)ja...

    seasonley 評(píng)論0 收藏0
  • SpringBoot 入門(mén)簡(jiǎn)介

    摘要:這里使用的是數(shù)據(jù)庫(kù)啟動(dòng)類(lèi)上加上注解在啟動(dòng)類(lèi)中添加對(duì)包掃描掃描多個(gè)包下的可以有以下幾種方法掃描會(huì)自動(dòng)加載相關(guān)配置,數(shù)據(jù)源就會(huì)自動(dòng)注入到中,會(huì)自動(dòng)注入到中,可以直接使用。有配置文件下的使用掃描多個(gè)包下的可以有以下幾種方法掃描 Spring-Boot 學(xué)習(xí)筆記 1 Spring-Boot 介紹 1.1 什么是Spring-Boot Spring-Boot是由Pivotal團(tuán)隊(duì)提供的全新框架...

    chuyao 評(píng)論0 收藏0
  • 跨域問(wèn)題的一次深入研究

    摘要:前言最近在業(yè)務(wù)代碼中深受跨域問(wèn)題困擾,因此特別寫(xiě)一篇博客來(lái)記錄一下自己對(duì)跨域的理解以及使用到的參考資料。內(nèi)嵌式跨域通常也是允許的。而我使用時(shí)因?yàn)檫@個(gè)響應(yīng)報(bào)文最后被認(rèn)為是跨域問(wèn)題,無(wú)法從中獲得的狀態(tài)碼。它代表服務(wù)器支持跨域時(shí)攜帶認(rèn)證信息。 前言 最近在業(yè)務(wù)代碼中深受跨域問(wèn)題困擾,因此特別寫(xiě)一篇博客來(lái)記錄一下自己對(duì)跨域的理解以及使用到的參考資料。本文的項(xiàng)目背景基于vue+vuex+axio...

    X_AirDu 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<