role; $codes = $role->codes; // 获取权限注解 $controller = 'app\\admin\\controller\\'. $request->controller(); $ref = new \ReflectionClass($controller); $attrs = $ref->getAttributes(Permission::class); // 检查权限 /** * @var \ReflectionAttribute $attrRaw */ foreach($attrs as $attrRaw) { /** * @var Permission */ $attr = $attrRaw->newInstance(); $permission = $attr->value; if (false && !in_array($permission, $codes)) { throw new CatchException("未具有权限$permission, 禁止访问", 403); } } return $next($request); } }