【发布时间】:2021-12-20 06:08:03
【问题描述】:
添加了 spatie/laravel-permission,一切都由 routes/api.php 中的中间件工作
Route::get('roles', [RoleController::class, 'rolesIndex'])->middleware('role:Admin');
我想对api进行角色检查并添加了一个功能:
function check($roleName) {
$user = Auth::user();
if (!$user->hasRole($roleName)) {
abort(403);
}
return response('', 202);
}
添加到路由器 - 寻址路由:
Route::get('check/{roleName}', [RoleController::class, 'check']);
但是当联系我时它给出:在 null 上调用成员函数 hasRole()
【问题讨论】:
-
使用可选,因为Auth可以返回null。
optional(Auth::user())->hasRole()
标签: php laravel permissions