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

#php #laravel #laravel-8 #laravel-breeze

Вопрос:

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

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

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

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

admindashboard

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

userdashboard

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

Спасибо

Ответ №1:

Ладно, нашел решение.

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

require __DIR__.'/auth.php';

Route::get('/dashboard','AppHttpControllersDashboardsController@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";
        }
    }
 

В принципе, это позволит достичь того, чего я хочу достичь.

Спасибо