2016-07-01 3 views
1

Я использую Laravel v5.2.39. Я хочу перенаправить на панель только, если вы вошли в систему. Если вы измените URL вручную, он перенаправит вас на главный экран. Я использую auth middleware, но это не работает. Любая помощь?Laravel Auth redirect не работает

Мой routes.php файл:

Route::get('/', function() { 
     return view('welcome'); 
    })->name('home'); 

    Route::get('dashboard', [ 
     'uses' => '[email protected]', 
     'as' => 'dashboard', 
     'middleware' => 'auth' 
    ]); 

Мои UserController.php:

public function getDashboard(){ 
    return view('dashboard'); 
} 

И Auth промежуточного слоя:

public function handle($request, Closure $next, $guard = null) 
{ 
    if (Auth::guard($guard)->guest()) { 
     if ($request->ajax() || $request->wantsJson()) { 
      return response('Unauthorized.', 401); 
     } else { 
      return redirect()->route('home'); 
     } 
    } 

    return $next($request); 
} 

Я не знаю, Что проблема , У меня есть вход и регистрация, но я не думаю, что это проблема. Если кто-нибудь захочет это увидеть, напишите мне.

Имейте приятный день и спасибо.

+0

вы бы объяснить дальше проблемы вы столкнулись? Я не думаю, что это достаточно ясно. – alariva

+0

Вы, очевидно, хотите [сделать это] (http://laravel.io/bin/32lqm) на своих маршрутах – alariva

ответ

2

Как уже упоминалось выше, вы пробовали что-то вроде этого?

Route::group(['middleware' => 'auth'], function() { 
    Route::get('dashboard', '[email protected]')->name('dashboard'); 
}); 

Или вы можете добавить к промежуточному в функции конструкта в своем классе, так как:

public function __construct() { 
     $this->middleware('auth'); 
    } 

Также см the laravel documentation on using middleware with routes.

0

Попробуйте использовать «промежуточное программное обеспечение» => «Auth: веб» вместо «промежуточного» => «Идент»

0

Эй им не ясно, о вашей проблеме, но это поможет вам, , когда вы идете для проекта путь localhost/project/ он будет перенаправлять localhost/project/home URL в этом URL и может назначить любую функцию

Route::get('/', function() { 
    return redirect('home'); 
}); 
Смежные вопросы