今天使用了laravel的dingoapi插件做了一些功能,但是最后遇到一個問題,我在頁面和api的路由組中都加了一個相同的以session為基礎的身份驗證中間件,然后我以管理員身份登錄頁面時通過了驗證,但是頁面的一些數據無法請求到,查看瀏覽器的network后,發現服務器返回的是身份驗證失敗,也就是說我通過頁面請求可以表明我的身份,異步請求沒有表明我的身份,說到底就是請求頁面的時候,成功傳遞了session,異步請求的時候沒有成功傳遞session。
解決方法:
進入app\Http\Kernel里,將$middlewareGroups中的\Illuminate\Session\Middleware\StartSession::class復制到$middleware中。
小知識:api有兩類認證模式,一類是用session的,一類是用token的,laravel框架默認沒有開啟api的session模式,需要自己手動更改。
