Я определяю свои Gates для моей службы API в AuthServiceProvider (следуя Laravel документам https://laravel.com/docs/7.x/authorization#gates):
Gate::define('view-users', function ($user) {
return $user->hasAccess(['view-users'])
or $user->inRole(['admin', 'operator']);
});
Вот мой маршрут:
Route::group(['namespace' => 'Api', 'middleware' => ['auth:api']], function () {
Route::get('/users', 'UserController@listing')->name('user.listing')->middleware(['can:view-users']);
});
Как мне найти пользователя из файла Route API для использования в Gate?
Но я не совсем понимаю, откуда это $user
. В моем запросе я отправляю токен Авторизации на предъявителя. Должен ли я использовать это в моих воротах, чтобы выбрать правильного пользователя из БД? Откуда Laravel знает, кто такой $user
?