溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

vue前后端分離怎么解決每次請求session都會變的問題

發(fā)布時間:2022-08-08 16:15:33 來源:億速云 閱讀:438 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要講解了“vue前后端分離怎么解決每次請求session都會變的問題”,文中的講解內(nèi)容簡單清晰,易于學(xué)習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習“vue前后端分離怎么解決每次請求session都會變的問題”吧!

vue前后端分離每次請求session都會變

因為前后端屬于不同的域,導(dǎo)致每次ajax請求服務(wù)器都會當做新的用戶訪問,導(dǎo)致session丟失

解決方法

 <system.webServer>
    <httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Origin" value="http://localhost:8080" />
        <add name="Access-Control-Allow-Headers" value="Content-Type" />
        <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
        <add name="Access-Control-Allow-Credentials" value="true"/>
      </customHeaders>
    </httpProtocol>
  <handlers>
</system.webServer>

在后端Web.config添加允許跨域,

<add name="Access-Control-Allow-Origin" value="http://localhost:8080" />

這里的value寫前端的地址

再就是改前端ajax請求,我用的axios 在axios的index.js全局配置

axios.defaults.withCredentials=true;

這句話的意思是每次請求都帶上cookie,這樣每次取請求后端,就不會被認為是不同用戶導(dǎo)致session丟失.哦了!

vue前后端分離session丟失,前端解決方式

背景:前端每次發(fā)送的ajax都是形成新的會話,本地測試時后端獲取sessionId為null

**********后端的代碼修改請查找其他文章,本文只涉及前端

1、解決前端每次發(fā)送的ajax都是形成新的會話

我是用的axios,只需在封裝的請求時添加

axios.defaults.withCredentials=true;

根據(jù)自己代碼做相應(yīng)改變就行,請求時添加withCredentials屬性,并且值為true。

withCredentials:true;請求時攜帶cookie

2、本地測試時結(jié)果發(fā)現(xiàn)還是無法成功,后端獲取的sessionId為null

后端返回cookie

Set-Cookie: SESSION=NzgyMDdjZDgtNjJhMC00NmNkLTkxNWYtNjE4ZmRkYmFlOWQy; Path=/xxx/;

cookie后面還有一個path=/xxx/ 即后端項目路徑,

只需要在為解決跨域設(shè)置代理時

原代碼:

devServer: {
    proxy: {
      '/dev-api/': {
        target: 'http://baidu.com:8811',
        changOrigin: true,
        pathRewrite: {
          '^/dev-api/': '/'
        }
      }
    }
  }

以/dev-api/開頭改為后端返回path開頭

修改后:

devServer: {
    proxy: {
      '/xxx/': {
        target: 'http://baidu.com:8811',
        changOrigin: true,
        pathRewrite: {
          '^/xxx/': '/'
        }
      }
    }
  }

感謝各位的閱讀,以上就是“vue前后端分離怎么解決每次請求session都會變的問題”的內(nèi)容了,經(jīng)過本文的學(xué)習后,相信大家對vue前后端分離怎么解決每次請求session都會變的問題這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI