前後端分離解決session跨域丟失問題
最近在做一個簡訊的平臺,採用前後端分離的形式,前端vue,後端tp5,在登陸的時候出現了一個問題,登陸成功之後,拉取資料的介面在判斷登陸時發現獲取不到session_id,導致無法驗證登陸。
首先排錯,在儲存登陸資訊的時候是可以var_dump出session_id的,這就說明session檔案已經生成,但是拉取資料時獲取不到session檔案,原因是:因為是介面形式的訪問,所以介面一定要知道你的登陸和拉取資料是同一個ip地址的請求,才能知道登陸和拉取資料是使用的同一個session檔案。
所以我們要在前後端同時進行配置:
前端配置
在request.js檔案下
增加withCredentials: true
// 建立axios例項
const service = axios.create({
withCredentials: true,//跨域請求設定
baseURL: process.env.BASE_API, // api 的 base_url
timeout: 5000 // 請求超時時間
})
後端配置
Access-Control-Allow-Credentials 響應頭表示是否可以將對請求的響應暴露給頁面。返回true則可以,其他值均不可以。
header('Access-Control-Allow-Credentials: true');
Access-Control-Allow-Origin是HTML5中定義的一種解決資源跨域的策略。一般情況下設定為 * ,但是在這種情況下應該填寫前端頁面的公網地址。例如
header('Access-Control-Allow-Origin: http://127.0.0.1:80880');
這時候再執行登陸完成後,所有的資料介面拉取的請求頭中都會攜帶PHPSESSID,這樣伺服器就可以知道使用的是哪一個session檔案了
相關文章
- 前後端分離解決跨域問題後端跨域
- 解決 Laravel 5.8 前後端分離跨域問題Laravel後端跨域
- 前後端分離專案,如何解決跨域問題?後端跨域
- Spring Boot前後端分離專案Session問題解決Spring Boot後端Session
- springboot使用Filter解決前後端分離,產生的跨域問題Spring BootFilter後端跨域
- SpringBoot解決前後端跨域問題Spring Boot後端跨域
- 前後端分離,後端用springboot遇到的跨域問題後端Spring Boot跨域
- Vue+SpringBoot前後端分離中的跨域問題VueSpring Boot後端跨域
- SpringBoot 前後端動靜分離+叢集 遇到的第一個問題:跨域session共享Spring Boot後端跨域Session
- 超簡單的前端跨域、前後端分離解決方案前端跨域後端
- vue前後端分離解決每次請求session都會變的問題Vue後端Session
- SpringBoot 配置CORS處理前後端分離跨域配置無效問題解析Spring BootCORS後端跨域
- LiveNode.js 超簡單的前端跨域、前後端分離解決方案Node.js前端跨域後端
- 前後端分離下的跨域CAS請求後端跨域
- 獲取登入驗證碼失敗及前後端不同域導致session丟失問題分析記錄後端Session
- 無需CORS,用nginx解決跨域問題,輕鬆實現低程式碼開發的前後端分離CORSNginx跨域後端
- Nginx session丟失問題處理解決方法NginxSession
- 前後分離實現中,後臺 Laravel 接收資料的跨域解決方案Laravel跨域
- 前後端頁面分離導致session無法正常獲取的問題後端Session
- Laravel+vue.js 前後端分離解決跨域後獲取資料庫使用者列表(五)LaravelVue.js後端跨域資料庫
- 解決跨域問題跨域
- 搞懂:前端跨域問題JS解決跨域問題VUE代理解決跨域問題原理前端跨域JSVue
- java 後端 控制跨域問題Java後端跨域
- 前後端分離使用 Token 登入解決方案後端
- 網易NEI在面臨前後端分離問題,所提供的完整解決方案後端
- SignalR跨域問題解決SignalR跨域
- Flask解決跨域問題Flask跨域
- Java解決跨域問題Java跨域
- CROS 解決跨域問題ROS跨域
- cors解決跨域問題CORS跨域
- Luffy - 解決跨域問題跨域
- WebSocket跨域問題解決Web跨域
- 關於 vue Laravel5.5 前後段分離式開發介面跨域問題請教VueLaravel跨域
- cookie跨域共享 cookie二級域名共享 前後端分離專案共享cookieCookie跨域後端
- RocketMq訊息丟失問題解決MQ
- Nginx解決前端跨域問題 CORS跨域配置Nginx前端跨域CORS
- 深入跨域問題(3) – 利用 JSONP 解決跨域跨域JSON
- 深入跨域問題(3) - 利用 JSONP 解決跨域跨域JSON