2017-03-13 178 views
0

我試圖重定向登錄到另一個頁面。Laravel登錄重定向

即使在登錄控制器中顯示'/ welcome',它現在也會重定向到'/'。 (使用laravel的默認認證)。

它看起來像完全忽略了登錄控制器。

LoginController.php

<?php 

namespace App\Http\Controllers\Auth; 

use App\Http\Controllers\Controller; 
use Illuminate\Foundation\Auth\AuthenticatesUsers; 

class LoginController extends Controller 
{ 
    /* 
    |-------------------------------------------------------------------------- 
    | Login Controller 
    |-------------------------------------------------------------------------- 
    | 
    | This controller handles authenticating users for the application and 
    | redirecting them to your home screen. The controller uses a trait 
    | to conveniently provide its functionality to your applications. 
    | 
    */ 

    use AuthenticatesUsers; 

    /** 
    * Where to redirect users after login. 
    * 
    * @var string 
    */ 
    protected $redirectTo = '/welcome'; 

    /** 
    * Create a new controller instance. 
    * 
    * @return void 
    */ 
    public function __construct() 
    { 
     $this->middleware('guest', ['except' => 'logout']); 
    } 
} 

,因爲它似乎像它完全無視登錄控制器,我對如何甚至可以登錄困惑。

+0

你的意思是它重定向到'/'** **後登錄成功? – Paras

+0

是的,多數民衆贊成在我的意思是,它很奇怪,因爲它說重定向/歡迎 –

回答

0

根據您使用的Laravel版本,此解決方案可能適用於您。

在App \ Http \ Middleware部分中,查看RedirectIfAuthenticated文件。

你會發現一個handle()方法,它在用戶重定向後重定向。

更新重定向,你應該很好去。

+0

我也研究過這個。 '<?php namespace App \ Http \ Middleware; 使用關閉; 使用Illuminate \ Support \ Facades \ Auth; class RedirectIfAuthenticated { /** *處理傳入的請求。 * *參數\照亮\ HTTP \ $申請要求 *參數\ $閉幕未來 * @參數字符串|空$後衛 * @返回混合 */ 公共職能手柄($請求,關閉$下一,$ guard = null) { if(Auth :: guard($ guard) - > check()){ return redirect('/ home'); } return $ next($ request); } } ' –

+0

更新URL後的結果是什麼?您可能想嘗試使用某些Artisan功能清除任何緩存。 –

+0

更改該文件中的重定向並未實際改變重定向 –

0

您需要查看app/Http/RedirectIfAuthenticated.php以確定重定向請求的位置。

+0

這不起作用..我已經試過了這個 –

+0

好的,對不起。你確定用戶已經登錄嗎?嘗試在您認爲已登錄後重定向到的頁面上執行'dd(auth() - > user())'。 –

+0

是的,我確定用戶已登錄。我們可以使用auth )-user() –

0

我修好了。

問題是,

protected function authenticated(Request $request, $user) 
{ 
    return redirect('/auth'); 
} 

是以前空...