開(kāi)發(fā)環(huán)境:前后端兩套用戶系統(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...用戶管理頁(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),并且銷毀了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)用戶管理頁(yè)時(shí),都能成功,未出現(xiàn)此類情況。目前排查問(wèn)題不同層級(jí)的訪問(wèn)路徑(路由)產(chǎn)生不同的session導(dǎo)致登錄狀態(tài)不一致。希望各位大神指點(diǎn)迷津。
2 回答
SMILET
TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊
已找到問(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' => '/',
胡子哥哥
TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超6個(gè)贊
如果你的登錄認(rèn)證用的是自帶的Auth,那么就有這種可能。
Auth是分guard的,guard就是用來(lái)解決這種前后端不同賬戶系統(tǒng)登錄的。
看看是不是用到的guard不一樣。
- 2 回答
- 0 關(guān)注
- 736 瀏覽
添加回答
舉報(bào)
0/150
提交
取消
