Я немного смущен чем-то. Для аутентификации я использую LDAP, более конкретно это https://github.com/SaschaDens/ldap-connectorЗащита маршрутов с помощью LDAP
Эта библиотека LDAP, которую я использую, по существу работает поверх фасада аутентификации Laravels.
Все в порядке, я могу войти и выйти с помощью LDAP. Однако при входе в систему у меня есть кнопки для пользователей обновлений. Это, по сути, использует LDAP для получения всех групп, которые пользователь разделяет. Поэтому у меня есть три таблицы:
users
groups
users_groups
Когда кнопка нажата, я добавляю всех пользователей в таблицу пользователей. Затем я добавляю все уникальные группы в таблицу групп. Последняя таблица users_groups представляет собой сводную таблицу, которая связывает user_id с group_id.
К концу этого я вижу, что я, например, разделен на 3 группы, одна из которых - группа администратора. Я также могу видеть всех членов этой группы, делая этот
$group = Group::where('groupName', 'admin')->first();
$users = $group->user;
В настоящее время существует несколько маршрутов, я только хочу, чтобы сделать доступными для пользователей администратора. Я могу видеть в Kernel.php есть следующие
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
];
На данный момент я только с помощью AUTH, чтобы убедиться, что пользователь вошел в систему. Очевидно, что я не админ один установить еще, и я думаю, то, как я это делаю, может возникнуть проблема, потому что я создаю свою таблицу групп.
Как я могу заблокировать доступ к определенному маршруту только тем пользователям, которые находятся за пределами группы администратора?
Thanks