Laravel версия: 7.x
Мне нужно разработать приложение, в котором есть 2 основных roles
и несколько sub-roles
, например: administrator
/ manager
, office-admin
, et c. и company
/ field-agent
, front-desk
. Где administrator
является владельцем сайта, а company
является franchise
.
Таблицы:
users -> user_staff
|- id |- id
|- email |- user_id
|- password |- email
|- ... |- password
|- ...
companies -> employees
|- id |- id
|- email |- company_id
|- password |- email
|- ... |- password
|- ...
После входа в систему все они попадают в общую область администратора (http://www.sitename.com/admin/
) со своими соответствующими role
ограничениями.
Для управления этим сценарием Я создал 4 разных охранников. admin
, staff
, company
& employee
.
Auth. php
'guards' => [
'admin' => [
'driver' => 'session',
'provider' => 'users',
],
'staff' => [
'driver' => 'session',
'provider' => 'staff',
],
'company' => [
'driver' => 'session',
'provider' => 'company',
],
'employee' => [
'driver' => 'session',
'provider' => 'employee',
],
],
'providers' => [
'admin' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
'staff' => [
'driver' => 'eloquent',
'model' => App\UserStaff::class,
],
'company' => [
'driver' => 'eloquent',
'model' => App\Company::class,
],
'employee' => [
'driver' => 'eloquent',
'model' => App\Employee::class,
],
],
Q: Это можно сделать через общую страницу входа или мне нужно создать несколько страниц входа с URL?