如何禁用Magento 2 GraphQL的内省功能?(AEM与Magento环境)
禁用AEM与Magento环境中的GraphQL内省功能
AEM环境操作步骤
- 登录AEM管理控制台,进入工具 > GraphQL > 端点页面
- 选中需要禁用内省的GraphQL端点,进入编辑界面
- 切换到“高级”设置板块,取消勾选“启用内省”选项,保存更改即可
如果需要通过代码批量配置(适合部署场景):
- 在AEM的
config目录下创建或修改配置文件org.apache.sling.graphql.core.engine.impl.GraphQLEngineConfiguration.cfg.json - 添加配置内容:
{"introspection.enabled": false}
- 重启AEM实例或触发配置刷新,使设置生效
Magento环境操作步骤
后台配置方式
- 登录Magento后台管理界面,进入商店 > 设置 > 配置 > 高级 > 开发者
- 展开“GraphQL”配置项,将“启用内省”设置为“否”
- 点击页面右上角的“保存配置”,然后执行缓存刷新操作(系统 > 工具 > 缓存管理)
代码配置方式(适合自动化部署)
- 编辑Magento根目录下的
app/etc/env.php文件,添加或更新GraphQL配置段:
'graphql' => [ 'introspection' => false ]
- 执行命令行刷新缓存:
bin/magento cache:flush
验证是否生效
发送GraphQL内省查询请求,比如:
query { __schema { types { name } } }
如果返回权限错误或空的结构数据,说明内省功能已成功禁用。
内容的提问来源于stack exchange,提问作者Raziya Heena
相关产品推荐
相关产品推荐

