国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

spring-boot跨域

tomato / 2672人閱讀

摘要:無攔截器一般情況下直接用就可以搞定了有攔截器比如需要對用戶身份進行驗證瀏覽器在發送請求時可能這個我還要去一下不會帶上驗證信息在攔截器那里就沒通過進而結束請求而前面方法的執行是在攔截器后面不會起作用當然在攔截器那里判斷如果是方法就通過也沒問題

無攔截器 @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");
    }

}
有攔截器

比如需要對用戶身份進行驗證

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

}

瀏覽器在發送OPTION請求時,可能(這個我還要去google一下)不會帶上驗證信息,在攔截器那里就沒通過,進而結束請求.而前面方法的執行是在攔截器后面,不會起作用.(當然在攔截器那里判斷,如果是OPTION方法就通過,也沒問題)
這就需要另一種方法

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

}

這個過濾器會在執行攔截器前面執行

下載

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/66989.html

相關文章

  • 使用Docker部署Spring-Boot+Vue博客系統

    摘要:先來看一下容器的文件中間一些操作省略這里用了多階段構建容器,如果直接通過設置環境變量只會在后面一個階段生效,但是是在第一個階段執行的,所以環境變量不能應用到當中。 在今年年初的時候,完成了自己的個Fame博客系統的實現,當時也做了一篇博文Spring-boot+Vue = Fame 寫blog的一次小結作為記錄和介紹。從完成實現到現在,也斷斷續續的根據實際的使用情況進行更新。 只不過每...

    Eirunye 評論0 收藏0
  • 《從零構建前后分離 WEB 項目》 序 :開源的意義

    摘要:從前端到后端到運維,經歷了幾次前后端架構的演變,踩了無數的坑,度過無數難免的夜。為了工作或學習,確實造過一些輪子,前端的后端的,也開源出來過覺得能提高生產力的。 showImg(https://segmentfault.com/img/bVbgeXP?w=713&h=275); 序: 開源的意義 本系列提前首發地址 背景 從事了近4年的互聯網行業,逐漸擔當過團隊的前端到后端的負責人,和...

    J4ck_Chan 評論0 收藏0
  • 《從零構建前后分離 WEB 項目》 序 - 開源的意義

    摘要:盡量按照前端后端部署運維來講,當然中途涉及到跨域這種前后協調的還是無法避免捎帶一筆。關于我目前在寫從零構建前后分離項目系列,修正和補充以此為準不斷更新的項目實踐地址彩蛋提前預覽下一章傳送門 序: 開源的意義 本系列提前首發地址 背景 從事了近4年的互聯網行業,逐漸擔當過團隊的前端到后端的負責人,和大家一樣從小白逐漸的成長起來,回首望去幾年前的博客還是那么稚嫩。 回首這幾年: 從一個ja...

    seasonley 評論0 收藏0
  • SpringBoot 入門簡介

    摘要:這里使用的是數據庫啟動類上加上注解在啟動類中添加對包掃描掃描多個包下的可以有以下幾種方法掃描會自動加載相關配置,數據源就會自動注入到中,會自動注入到中,可以直接使用。有配置文件下的使用掃描多個包下的可以有以下幾種方法掃描 Spring-Boot 學習筆記 1 Spring-Boot 介紹 1.1 什么是Spring-Boot Spring-Boot是由Pivotal團隊提供的全新框架...

    chuyao 評論0 收藏0
  • 跨域問題的一次深入研究

    摘要:前言最近在業務代碼中深受跨域問題困擾,因此特別寫一篇博客來記錄一下自己對跨域的理解以及使用到的參考資料。內嵌式跨域通常也是允許的。而我使用時因為這個響應報文最后被認為是跨域問題,無法從中獲得的狀態碼。它代表服務器支持跨域時攜帶認證信息。 前言 最近在業務代碼中深受跨域問題困擾,因此特別寫一篇博客來記錄一下自己對跨域的理解以及使用到的參考資料。本文的項目背景基于vue+vuex+axio...

    X_AirDu 評論0 收藏0

發表評論

0條評論

tomato

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<