後我使用Laravel框架5.4.10,而我使用的是常規的身份驗證Laravel 5.4重定向到自定義網址登錄
php artisan make:auth
提供。我想保護整個應用程序,並在登錄後將用戶重定向到/主題。
我有4個控制器:ForgotPasswordController.php,LoginController.php,RegisterController.php和ResetPasswordController.php。我已經編輯這一行到最後三:
protected $redirectTo = '/themes';
這是我的路線/ web.php第一行:
Auth::routes();
我在Controller.php這樣添加了這個功能:
public function __construct()
{
$this->middleware('auth');
}
我已經編輯應用程序/ HTTP /中間件/ RedirectIfAuthenticated.php,使得手柄的功能如下:
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
return redirect('/themes');
}
return $next($request);
}
這一切都很好,除了當我點擊登錄按鈕,我被重定向到「/」,而不是「/主題」。如果我不需要在控制器中進行身份驗證(Controller.php文件中沒有__結構函數),則在登錄時我會重定向。我究竟做錯了什麼?
太棒了!唯一的問題是isAdmin()給了我一個BadMethodCallException,所以我跳過了整個IF部分,它完美的工作! – ivanacorovic
我很高興它有幫助,我的應用程序使用isAdmin()檢查用戶是重定向之前的管理員,無法根據您的代碼改變機會只是想給你一個提示。謝謝 – Babagana