在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/PHP/ 為什么laravel 5.4 不同級(jí)的地址會(huì)產(chǎn)生不同的session?

為什么laravel 5.4 不同級(jí)的地址會(huì)產(chǎn)生不同的session?

開(kāi)發(fā)環(huán)境:
前后端兩套用戶(hù)系統(tǒng):
后臺(tái)主頁(yè)是:http://www.mysite.com/admin/
后臺(tái)登錄頁(yè):http://www.mysite.com/admin/l...
商品管理頁(yè):http://www.mysite.com/admin/m...
用戶(hù)管理頁(yè):http://www.mysite.com/admin/user
當(dāng)我訪問(wèn)http://www.mysite.com/admin 時(shí)能夠正常跳轉(zhuǎn)到登錄頁(yè),登錄成功后跳回/admin;

問(wèn)題:
當(dāng)在未登錄狀態(tài)訪問(wèn)http://www.mysite.com/admin/m... 時(shí),自動(dòng)跳轉(zhuǎn)到登錄頁(yè),登錄成功后仍然跳轉(zhuǎn)到/admin,此時(shí)實(shí)際已經(jīng)登錄,繼續(xù)輸入http://www.mysite.com/admin/m... 訪問(wèn)仍然會(huì)跳轉(zhuǎn)到/admin。

已排查出的線索:
1、訪問(wèn):http://www.mysite.com/admin/m... 時(shí),產(chǎn)生session(命名session1)
2、中間件驗(yàn)證發(fā)現(xiàn)未登錄,跳轉(zhuǎn)至登錄頁(yè),此時(shí)產(chǎn)生新的session(命名session2)
3、執(zhí)行登錄,登錄成功后產(chǎn)生session(命名session3),并且銷(xiāo)毀了session2。
4、此時(shí)再次訪問(wèn)http://www.mysite.com/admin/m... 時(shí)程序獲取到session1,驗(yàn)證未登錄跳轉(zhuǎn)至登錄頁(yè),登錄頁(yè)使用session3驗(yàn)證登錄成功回跳至后臺(tái)主頁(yè)/admin。造成永遠(yuǎn)無(wú)法訪問(wèn)商品管理頁(yè)的結(jié)果。

在訪問(wèn)用戶(hù)管理頁(yè)時(shí),都能成功,未出現(xiàn)此類(lèi)情況。
目前排查問(wèn)題不同層級(jí)的訪問(wèn)路徑(路由)產(chǎn)生不同的session導(dǎo)致登錄狀態(tài)不一致。希望各位大神指點(diǎn)迷津。

回答
編輯回答
負(fù)我心

如果你的登錄認(rèn)證用的是自帶的Auth,那么就有這種可能。
Auth是分guard的,guard就是用來(lái)解決這種前后端不同賬戶(hù)系統(tǒng)登錄的。
看看是不是用到的guard不一樣。

2017年3月2日 15:45
編輯回答
遺莣

已找到問(wèn)題所在。
session的配置文件中有個(gè)變量path,這個(gè)path被人配置成一個(gè)基于windows的絕對(duì)路徑(自作孽不可活555555),此時(shí)laravel無(wú)法識(shí)別cookies存儲(chǔ)位置,按訪問(wèn)地址存儲(chǔ),所以導(dǎo)致訪問(wèn)/admin/mall/product和訪問(wèn)/admin/login時(shí)使用的是不同cookies,也就是需要生成多個(gè)session。

解決方案:將path配置成“/”就只剩一個(gè)session了

'path' => '/',
2017年11月21日 15:22