graphql - GraphQL 不同的结果,如果不同的权限
问题描述
假设有两个客户端:
- Client-A 有很多权限
- Client-B 的权限很少
两个客户端都向 GraphQL 服务发送相同的请求。
两者都有结果。
两个结果是否应该相同,或者两个客户端都得到不同的结果是否可以。
换句话说:如果客户端 A 收到 100 个结果而客户端 B 收到 30 个结果,这是否违反规范或最佳实践?
我问GraphQL(SQL)的“老大哥”在这里做了什么:相同的查询,不同的结果(取决于用户的权限)
解决方案
我多次有相同的需求,我只是向客户返回不同的结果。
在这种情况下不同意味着客户端 B 收到一些根据权限过滤的元素列表,而具有完全权限的客户端收到未过滤的列表。
我认为这种方法没有任何问题。如果您完全阻止了客户端 B 的请求 - 我认为这是错误的,毕竟他可以看到一些结果。
推荐阅读
- google-apps-script - 如何使用谷歌应用脚本找到最后一列?
- python - 两个词作为python中的一个引理
- reactjs - 将 material-ui ImageList 与 react-material-ui-carousel/indexing 单击的图像集成时遇到问题
- c# - 如何根据特定的组合逻辑将列表字典转换为唯一字典列表?
- ethereum - 为什么交易成本在混音中固定?
- ios - Apple 设备播放具有 HE-AAC 音频编码的 mp4 容器的问题
- svelte-component - 实现自定义 Svelte Grid 库
- javascript - react-router-dom v6 中的 history.replace
- actions-on-google - Google Actions 用户会话过期时间
- python - 首先编辑一个正在运行的 *.py 文件并使用命令重新运行它