成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

vue+Java 前后端分離,多次請(qǐng)求Session不一致的問(wèn)題

firim / 2951人閱讀

摘要:后來(lái)發(fā)現(xiàn)原因是在做圖片上傳時(shí),會(huì)在請(qǐng)求之前,先發(fā)送一個(gè)的預(yù)請(qǐng)求,這個(gè)請(qǐng)求的作用主要是獲取服務(wù)器支持的請(qǐng)求方法,用來(lái)檢查服務(wù)器的性能或判斷后續(xù)請(qǐng)求是否安全。。如果是請(qǐng)求,不會(huì)執(zhí)行,以至于之后的校驗(yàn)不生效,所以會(huì)沒(méi)有權(quán)限。

Vue項(xiàng)目用的axios發(fā)送請(qǐng)求
在main.js中增加以下配置:

import axios from "axios";
axios.defaults.withCredentials=true;

使用時(shí),設(shè)置withCredentials: true(請(qǐng)求時(shí)攜帶憑證信息)

axios({
  url: url,
  data: data,
  headers: {
    "Content-Type": "multipart/form-data"
  },
  method: "POST",
  withCredentials: true
}).then(response => {
  resolve(response)
}

服務(wù)端添加filter

    private final List allowedOrigins = Arrays.asList("http://localhost:8089","http://localhost:8088");// 允許跨域的地址
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {}

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        HttpServletResponse response = (HttpServletResponse) servletResponse;
        HttpServletRequest request = (HttpServletRequest) servletRequest;

        response.setHeader("Access-Control-Allow-Headers", "X-Requested-With, Accept, Content-Type");
        response.setHeader("Access-Control-Allow-Methods", "GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS, PATCH");
        String origin = request.getHeader("Origin");
        response.setHeader("Access-Control-Allow-Origin", allowedOrigins.contains(origin) ? origin : "");
        // 是否允許瀏覽器攜帶用戶(hù)身份信息(cookie)
        response.setHeader("Access-Control-Allow-Credentials","true");
        // 圖片上傳會(huì)用到
        if( "OPTIONS".equals(request.getMethod())){   
        }
        filterChain.doFilter(servletRequest, servletResponse);
    }

方法中有一行if( "OPTIONS".equals(request.getMethod())) 的判斷,是因?yàn)槲以谧鰣D片上傳時(shí),登錄認(rèn)證會(huì)失效導(dǎo)致跳轉(zhuǎn)到登錄頁(yè)。
后來(lái)發(fā)現(xiàn)原因是在做圖片上傳時(shí),會(huì)在POST請(qǐng)求之前,先發(fā)送一個(gè)OPTION的預(yù)請(qǐng)求,這個(gè)請(qǐng)求的作用主要是 獲取服務(wù)器支持的HTTP請(qǐng)求方法,用來(lái)檢查服務(wù)器的性能或判斷后續(xù)請(qǐng)求是否安全。。
如果是OPTIONS請(qǐng)求,不會(huì)執(zhí)行filterChain.doFilter(servletRequest, servletResponse),以至于之后的shiro校驗(yàn)不生效,所以會(huì)沒(méi)有權(quán)限。

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/71575.html

相關(guān)文章

  • 前后分離架構(gòu)下CSRF防御機(jī)制

    摘要:延伸這里再順便提一下,新架構(gòu)下的防御。不過(guò),還有一點(diǎn)值得一提前后端分離框架下,路由由控制我自己要獲取的后端參數(shù)和需要用在業(yè)務(wù)邏輯的參數(shù),在主觀上前端同學(xué)更好把握一些。 原文: http://feclub.cn/post/content... 背景 1、什么是CSRF攻擊? 這里不再介紹CSRF,已經(jīng)了解CSRF原理的同學(xué)可以直接跳到:3、前后端分離下有何不同?。 不太了解的同學(xué)可以看這...

    Moxmi 評(píng)論0 收藏0
  • 系統(tǒng)講解 - SSO單點(diǎn)登錄

    摘要:概念英文全稱(chēng),單點(diǎn)登錄。登錄如上述流程圖一致。系統(tǒng)和系統(tǒng)使用認(rèn)證登錄。退出上圖,表示的是從某一個(gè)系統(tǒng)退出的流程圖。與的關(guān)系如果企業(yè)有多個(gè)管理系統(tǒng),現(xiàn)由原來(lái)的每個(gè)系統(tǒng)都有一個(gè)登錄,調(diào)整為統(tǒng)一登錄認(rèn)證。 概念 SSO 英文全稱(chēng) Single Sign On,單點(diǎn)登錄。 在多個(gè)應(yīng)用系統(tǒng)中,只需要登錄一次,就可以訪問(wèn)其他相互信任的應(yīng)用系統(tǒng)。 比如:淘寶網(wǎng)(www.taobao.com),天貓網(wǎng)...

    Kylin_Mountain 評(píng)論0 收藏0
  • 兩年了,我寫(xiě)了這些干貨!

    摘要:開(kāi)公眾號(hào)差不多兩年了,有不少原創(chuàng)教程,當(dāng)原創(chuàng)越來(lái)越多時(shí),大家搜索起來(lái)就很不方便,因此做了一個(gè)索引幫助大家快速找到需要的文章系列處理登錄請(qǐng)求前后端分離一使用完美處理權(quán)限問(wèn)題前后端分離二使用完美處理權(quán)限問(wèn)題前后端分離三中密碼加鹽與中異常統(tǒng)一處理 開(kāi)公眾號(hào)差不多兩年了,有不少原創(chuàng)教程,當(dāng)原創(chuàng)越來(lái)越多時(shí),大家搜索起來(lái)就很不方便,因此做了一個(gè)索引幫助大家快速找到需要的文章! Spring Boo...

    huayeluoliuhen 評(píng)論0 收藏0
  • 最近學(xué)到前后分離知識(shí)

    摘要:文本已收錄至我的倉(cāng)庫(kù),歡迎前后端分離這個(gè)詞相信大家都聽(tīng)過(guò),不知道大家是怎么理解的呢。流下不學(xué)無(wú)術(shù)的淚水目前我了解到的前后端分離,首先部署是分離的至少不會(huì)跟綁定在一起部署接口只返回?cái)?shù)據(jù)關(guān)于前端這幾大框架這幾個(gè)我都是沒(méi)有寫(xiě)過(guò)的,所以也就不多了。 前言 只有光頭才能變強(qiáng)。文本已收錄至我的GitHub倉(cāng)庫(kù),歡迎Star:https://github.com/ZhongFuCheng3y/3y ...

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

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

0條評(píng)論

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