你能幫我嗎?添加了 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']);
但是當聯系我時,它給出了:呼叫成員函式 hasRole() on null
uj5u.com熱心網友回復:
要user對您的 進行身份驗證API,您需要參考api警衛:
$user = auth('api')->user();
if (!$user->hasRole($roleName) {
// ...
}
或者更簡單:
if (!auth('api')->user()->hasRole($roleName)) {
// ...
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/351647.html
上一篇:擁有API和網站時如何設定路由
