0
我在Laravel應用程序中發現了一個奇怪的行爲。未調用Laravel未經身份驗證的處理程序
我的路線是這樣的:
Route::group(['as' => 'web', 'middleware' => ['web']], function()
{
Route::group(['middleware'=>['auth']], function() {
Route::get('personal', 'Web\[email protected]');
}
}
在我的應用程序/例外/ Handler.php,我這樣定義的未經驗證的功能:
protected function unauthenticated($request, AuthenticationException $exception)
{
if ($request->expectsJson()) {
return response()->json(['error' => 'Unauthenticated.'], 401);
}
return redirect()->guest('login');
}
因此,當用戶沒有通過驗證,並打與auth
中間件路由,它應該重定向到/登錄。
這適用於本地和開發服務器。但在生產服務器中,它永遠不會被調用。我試圖在render
和unauthenticated
函數中嘗試dd()
,但它從未被調用過。 因此,在生產服務器上,如果未經身份驗證的用戶使用auth
中間件命中路由,它將始終重定向到/ auth而不是/ login。
你對這個問題有什麼經驗嗎? 謝謝
感謝您迴應一些例子,適當web.php路線。但不幸的是它不起作用。結果是一樣的。此外,我沒有編輯核心處理程序,它在應用程序文件夾下,並且可以安全地在那裏編輯未經身份驗證的重定向。 我不認爲它與路由有關,因爲它適用於本地和開發服務器。 – Destiya