Intereting Posts
Доступ к глобальной конфигурации в Zend Framework 2 Расшифровка электронной почты не работает в почтовой почте Сделать правило htaccess применимо только к текущей папке Используя Composer, можно ли распределять зависимости между несколькими проектами? Строгие стандарты: Декларация «должна быть совместима с» как динамически создавать текстовое поле в php Как получить доступ к массиву массивов в PHP Кудрявые фигурные скобки или заявления о двоеточии endif в PHP – какой из них обеспечивает лучшую производительность и совместимость с кодом? PHP-скрипт для импорта данных csv в mysql PHP 5.5.0 с Microsoft SQL Server 2008 R2 – Нет sqlsrv_connect ()? Можно ли отправлять почту с использованием PHP, давая обратную связь с пользователем при доставке? MySQLi: подготовленный оператор для возврата вложенных массивов PHP Преобразование в int Поле «Reply-to» в почте Laravel не работает Отправка электронной почты с локального сервера в PHP

laravel – не удается перенаправить множественную аутентификацию на разные страницы

Я использую laravel 5.4, и я хочу перенаправить эти три разных типа пользователей на разные страницы

схема

Types +-------+-------------+ | id | name | +-------+-------------+ | 1 | Super Admin | | 2 | Admin | | 3 | Cashier | +-------+-------------+ Users +-------+---------+-------------+ | id | type_id | name | +-------+---------+-------------+ | 1 | 1 | Super Admin | | 2 | 2 | Admin | | 3 | 3 | Cashier | +-------+---------+-------------+ 

LoginController

 public function redirectTo() { if (Auth::user()->type_id === 1) { return '/superAdmin/home'; } elseif (Auth::user()->type_id === 2) { return '/admin/home'; } elseif (Auth::user()->type_id === 3) { return '/kasir/home'; } } 

HomeController

 public function superAdmin() { return view('superAdmin.home'); } public function admin() { return view('admin.home'); } public function kasir() { return view('kasir.home'); } 

Маршруты

 Route::get('/', 'HomeController@kasir'); Route::get('/admin/home', 'HomeController@admin'); Route::get('/superAdmin/home', 'HomeController@superAdmin'); 

Я последовал за ответом на мой предыдущий вопрос

перенаправление трех разных типов / роли пользователя на разные страницы

Я попытался войти в систему, используя пользователя с type_id = 1, что означает, что пользователь является супер-администратором, но он всегда перенаправляется на Route::get('/','HomeController@cashier'); а также пользователей с другими ролями

и проблема в том, что каждая роль может получить доступ к странице, принадлежит к другой роли, что я должен сделать, чтобы ее исправить?

Solutions Collecting From Web of "laravel – не удается перенаправить множественную аутентификацию на разные страницы"

Вы можете сделать одну вещь, которую я использовал в своем последнем проекте, используя laravel.

Вы должны написать этот код в методе индекса домашнего контроллера, так что при загрузке домашней страницы он будет проверять идентификатор типа пользователя и перенаправлять на соответствующую страницу.

  if(Auth::check()) { if(Auth::user()->in_usertype_id == 1) { return view('admin.dashboard'); }elseif(Auth::user()->in_usertype_id == 2) { return view('admin.dashboard1'); else{ return view('admin.dashboard3'); } }else{ return redirect('login')->with('error', Lang::get('message.unauthorize-access')); } 

Надеюсь, это поможет вам.