Я хочу сгруппировать маршруты Laravel 5 на основе зарегистрированных пользователей и гостей. Есть ли в Laravel 5 встроенные методы фреймворка для этого?
Да, вы можете сделать это, обновив следующий метод в 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
});
Да, есть некоторые: 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
});