GraphQL不同的结果,如果权限不同

问题描述 投票:1回答:2

想象有两个客户:

  • 客户端A具有很多权限
  • 客户端B具有很少的权限

两个客户端都向GraphQL服务发送相同的请求。

均获得结果。

两个结果应该相同,还是两个客户得到不同的结果都可以。

换句话说:如果客户A收到100个结果,客户B收到30个结果,是否违反规范或最佳做法?

我问过GraphQL(SQL)的“老大哥”在做什么:Same query, different result (depending on user's permissions)

graphql rules
2个回答
2
投票

我多次有相同的需求,我只是将不同的结果返回给客户。

在这种情况下,不同表示客户端B收到根据权限过滤的某些元素列表,而具有完全权限的客户端收到未过滤的列表。

我没有发现这种方法有什么问题。如果您完全阻止了对客户B的请求-我认为这是错误的,那么他毕竟可以看到一些结果。


0
投票

按照定义,这不是问题。与客户端B相比,客户端A似乎有权查看70个其他结果。

© www.soinside.com 2019 - 2024. All rights reserved.