前后端分離設置session無效,后端set-cookie設置cookie無效問題


問題描述:前端通過發送驗證碼給后端,后端接口無法接收到cookie中的session。為什么無法接收到session呢,因為不同域問題。

場景:前端react,后台java。我們的跨域問題已經解決了,就是接口可以正常訪問前端沒有通過設置代理proxy來處理,是通過后台設置允許跨域來處理的。

解決辦法:

直接設置代理,通過代理轉發保持同域!!!才能把session設置到cookies里面!!!!!

 

 以下是解讀知識點:

后端通常稱為session,是tomacat自帶的驗證方式,前端叫cookies的存儲存這個cookies,有時效性,通常是后台設置(前端也可以設置,一般不)。也就是說業務上,如果使用cookies(session)登錄、注銷的話,一般就都是后台去控制了。只要保證前后端不跨域就可以。本地用代理配置,線上用nginx。

首先說下正常的大概流程:

1、前端通過img標簽填入后台給的一個驗證碼圖片地址,(如果cookies沒有session這個字段)請求這個圖片地址時候,圖片接口會通過響應頭response header里的set-cookie在cookie里面設置session字段的值。


圖片接口里面的響應頭攜帶session:

 

 進而設置cookies,把值存到里面:

 

 

2、點登錄請求登錄接口時候,或者請求其他接口時候,會自動把這個cookise里面的session帶到請求頭里面的,前端不需要做什么操作。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM