Как группировать маршруты Laravel на основе зарегистрированных пользователей и гостей

Я хочу сгруппировать маршруты Laravel 5 на основе зарегистрированных пользователей и гостей. Есть ли в Laravel 5 встроенные методы фреймворка для этого?

0

Решение

Да, вы можете сделать это, обновив следующий метод в Authenticate.php

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()->guest('login');
}
}

return $next($request);
}

Если вы используете Sentinel, вы можете проверить зарегистрированного пользователя из

Sentinel::check() вместо Auth::guard($guard)->guest()

Затем вы можете сгруппировать маршруты следующим образом.

Route::group(['middleware' => ['auth']], function () {
// Authorized routs
});

Route::group(['middleware' => ['guest']], function () {
// Guest routs
});
0

Другие решения

Да, есть некоторые: https://laravel.com/docs/master/middleware#assigning-middleware-to-routes auth для авторизованных и guest для гостей.

Route::group(['middleware' => ['auth']], function () {
//only authorized users can access these routes
});

Route::group(['middleware' => ['guest']], function () {
//only guests can access these routes
});
6

По вопросам рекламы [email protected]