2017-08-19 24 views
0

我想知道我可以設置我權威性中間件laravel 5.4.I正在試圖建立在在Laravrel建立權威性的中間件5.4

namespace App\Http\Middleware; 

use Closure; 
use Illuminate\Support\Facades\Auth; 

class RedirectIfAuthenticated 
{ 
    /** 
    * Handle an incoming request. 
    * 
    * @param \Illuminate\Http\Request $request 
    * @param \Closure $next 
    * @param string|null $guard 
    * @return mixed 
    */ 
    public function handle($request, Closure $next, $guard = null) 
    { 
     if (Auth::guard($guard)->check()) { 
      return redirect()->route('home'); 
     } 

     return $next($request); 
    } 
} 

重定向路線,但有沒有chages。 有人可以提出一個解決方案嗎?

回答

0

您的中間件可能按原樣工作,但您仍然需要啓用此功能。關於註冊中間件的信息可以發現here但在短:

// Within App\Http\Kernel Class... 

protected $routeMiddleware = [ 
    'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, 
]; 

這將命名您的中間件「客人」(如果你執行php artisan make:auth事先可能已經啓用

然後你需要應用它。這可以在1 2的方式來完成。

航線上。

  1. 直接 Route::get('admin/profile', '[email protected]')->middleware('guest');
  2. 隨着羣體
    Route::group(['middleware' => ['guest']], function() {//other routes});