Как перенаправить пользователя на разные панели мониторинга на основе поля уровня в таблице '' 'users' '' в Laravel Breeze?

Пожалуйста, простите меня, если мой вопрос слишком общий, но я в своем уме.

У меня есть таблица пользователей с полем уровня, как показано ниже:

$table->unsignedSmallInteger('level')->after('password');

Я хочу перенаправить пользователя на разные панели мониторинга в зависимости от значения поля уровня. Например, для пользователя уровня 0

\admin\dashboard

для пользователя уровня 1

\user\dashboard

Я использую Laravel 8.4 и laravel / breeze для аутентификации.

Спасибо

1 ответ

Хорошо, нашел решение.

  1. На routes\web.php Я закомментировал маршрут панели мониторинга по умолчанию и создал новый маршрут для /dashboard и указал на App\Http\Controllers\DashboardsController@index
      // Route::get('/dashboard', function () {
//     return view('dashboard');
// })->middleware(['auth'])->name('dashboard');

require __DIR__.'/auth.php';

Route::get('/dashboard','App\Http\Controllers\DashboardsController@index')->middleware(['auth'])->name('dashboard');
  1. index функция DashboardsController
      public function index() {
        $data['authenticated_user'] = Auth::user();
        if($data['authenticated_user']->level == 0) {
            echo "Admin";
        } elseif($data['authenticated_user']->level == 1) {
            echo "Employee";
        } else {
            echo "Security";
        }
    }

В основном это достигнет того, чего я хочу достичь.

Спасибо

Другие вопросы по тегам