检测权限路由
// 测试权限访问接口
Route::get('testPower', 'UserController/testPower')->middleware(\app\middleware\checkPowerMiddleware::class)
->middleware(\think\middleware\Throttle::class); // 访问频率限制
书写中间件内容,用用户ID获取权限id,判断是否拥有权限
// 根据用户角色判断是否具有权限
$userId = $request->param('user_id');
$powerId = $request->param('power_id');
$user = new User();
$userRoleInfo = $user->getInfo($userId);
// 根据角色id获取权限
$roleId = array_column($userRoleInfo['userRole'], 'role_id');
$role = new Role();
$rolePower = $role->getRoleInfo($roleId);
$rolePower = $rolePower['rolePower'];
$data['pwoer'] = $rolePower;
// 根据权限id取出具体权限信息
$powerList = array_column($rolePower, 'power_id');
if(!in_array($powerId, $powerList))
{
echo "无此权限";
die();
}
return $next($request);