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

資訊專欄INFORMATION COLUMN

vue+Java 前后端分離,多次請求Session不一致的問題

firim / 2920人閱讀

摘要:后來發現原因是在做圖片上傳時,會在請求之前,先發送一個的預請求,這個請求的作用主要是獲取服務器支持的請求方法,用來檢查服務器的性能或判斷后續請求是否安全。。如果是請求,不會執行,以至于之后的校驗不生效,所以會沒有權限。

Vue項目用的axios發送請求
在main.js中增加以下配置:

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

使用時,設置withCredentials: true(請求時攜帶憑證信息)

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

服務端添加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 : "");
        // 是否允許瀏覽器攜帶用戶身份信息(cookie)
        response.setHeader("Access-Control-Allow-Credentials","true");
        // 圖片上傳會用到
        if( "OPTIONS".equals(request.getMethod())){   
        }
        filterChain.doFilter(servletRequest, servletResponse);
    }

方法中有一行if( "OPTIONS".equals(request.getMethod())) 的判斷,是因為我在做圖片上傳時,登錄認證會失效導致跳轉到登錄頁。
后來發現原因是在做圖片上傳時,會在POST請求之前,先發送一個OPTION的預請求,這個請求的作用主要是 獲取服務器支持的HTTP請求方法,用來檢查服務器的性能或判斷后續請求是否安全。
如果是OPTIONS請求,不會執行filterChain.doFilter(servletRequest, servletResponse),以至于之后的shiro校驗不生效,所以會沒有權限。

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

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

相關文章

  • 前后分離架構下CSRF防御機制

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

    Moxmi 評論0 收藏0
  • 系統講解 - SSO單點登錄

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

    Kylin_Mountain 評論0 收藏0
  • 兩年了,我寫了這些干貨!

    摘要:開公眾號差不多兩年了,有不少原創教程,當原創越來越多時,大家搜索起來就很不方便,因此做了一個索引幫助大家快速找到需要的文章系列處理登錄請求前后端分離一使用完美處理權限問題前后端分離二使用完美處理權限問題前后端分離三中密碼加鹽與中異常統一處理 開公眾號差不多兩年了,有不少原創教程,當原創越來越多時,大家搜索起來就很不方便,因此做了一個索引幫助大家快速找到需要的文章! Spring Boo...

    huayeluoliuhen 評論0 收藏0
  • 最近學到前后分離知識

    摘要:文本已收錄至我的倉庫,歡迎前后端分離這個詞相信大家都聽過,不知道大家是怎么理解的呢。流下不學無術的淚水目前我了解到的前后端分離,首先部署是分離的至少不會跟綁定在一起部署接口只返回數據關于前端這幾大框架這幾個我都是沒有寫過的,所以也就不多了。 前言 只有光頭才能變強。文本已收錄至我的GitHub倉庫,歡迎Star:https://github.com/ZhongFuCheng3y/3y ...

    MoAir 評論0 收藏0

發表評論

0條評論

firim

|高級講師

TA的文章

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