Хорошей практикой для этого является использование Middewares. Создайте промежуточное ПО для администраторов и пользователей (я сделаю это только для администраторов, вы можете сделать то же самое для пользователей):
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Auth;
class AdminMiddleware
{
public function handle($request, Closure $next)
{
if(Auth::check()){
// check auth user role (I don't know how you can implement this for yourself, this is just for me)
if(Auth::user()->role->name == 'admin'){
return $next($request);
} else {
return redirect()->route('admin.dashboard'); // for admins
}
}
return redirect()->route('main'); // for users
}
}
В "app / Http / Kernel.php" в массиве $ routeMiddleware зарегистрируйте, что(добавьте в конец этого массива).
'Admin' => \App\Http\Middleware\AdminMiddleware::class,
Теперь, если вы используете все запросы в "routs / web.php" (на самом деле я так думаю), вы можете использовать такие маршруты для администраторов. :
// USER ROUTES
Route::get('/', 'FrontController@main')->name('main');
// ADMIN ROUTES
Route::group([
'as' => 'admin.',
'middleware' => [ 'Admin' ],
], function () {
Route::get('dashboard', 'AdminController@dashboard');
});
Обновление кешей через "php artisan config: cache". Попробуйте!