gpt4 book ai didi

Laravel Gates,如何在 API 路由中使用它们?

转载 作者:行者123 更新时间:2023-12-03 22:29:53 28 4
gpt4 key购买 nike

我正在 AuthServiceProvider 中为我的 API 服务定义我的 Gates(遵循 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 在哪里来自。在我的请求中,我发送了一个 Authorization Bearer token 。我应该在我的门内使用它来从数据库中获取正确的用户吗? Laravel 如何知道谁是谁 $user是?

最佳答案

$user是当前登录的用户。您不需要提供额外的 $user , 或者传入用户。

因此,如果您的应用程序当前有一个登录用户,那就是该用户。如果没有登录用户,gate 将返回 false 以保护您的资源。

关于Laravel Gates,如何在 API 路由中使用它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61090954/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com