我正在使用Laravel 5.5。我配置了許多使用會話驅動程序的身份驗證警衛。每個人都有不同的用戶提供者。提供者都使用雄辯的驅動程序,但是每個提供者創建不同類型的用戶,例如, App\User\Staff
,App\User\Customer
。這是Laravel會話處理不一致的bug嗎?
此外,我爲每個用戶類型設置了子域路由,例如, staff.mydomain.com
,customer.mydomain.com
。今天,我很高興地發現,如果我在一個子域中登錄,則該信息不會與其他域共享(默認情況下爲默認值)。這意味着我可以作爲工作人員在一個瀏覽器選項卡上登錄,也可以在另一個瀏覽器選項卡上作爲客戶登錄。
或者至少這是我的想法。
這適用於文件會話驅動程序,但使用數據庫驅動程序時無法預知。數據庫顯示了每個子域的新會話記錄,正如我所期望的那樣,會話ID在登錄時被刷新。雖然我檢查了Auth::check()
,但在一個選項卡中顯示正確(即登錄了一名警衛,其他人登錄)。在另一個標籤中,它顯示了所有警衛的客人。
我嘗試了這種來回(文件/數據庫會話驅動程序),並且文件驅動程序始終保持一致,並且數據庫驅動程序始終如一。這是一個錯誤?還是有什麼我缺少基於會話的身份驗證和子域?
也許你沒有網絡中間件 –