在 GRANDstack 中设置用户级别授权
Setting up user level authorization in GRANDstack
我创建了一个基于 GRANDstack 的问答平台(类似于 Whosebug),使用授权使用 repo graphql-auth-directives。这允许我们检查角色级别或范围级别的身份验证、授权。
在这个平台上,用户可以回答问题,并且可以将答案保存为草稿。只要答案没有发布,用户自己就应该看到它,而不是其他人。然而,其他用户应该会看到所有其他最终确定的答案。
如何创建这种类型的用户级别授权?结果应该提供以下内容:
假设一个 ID 为 someid
的问题 Q。目前已经确定了答案 A1 和 A2。如果某个随机用户 U1 执行查询:
query: {
Question(id:someid){
answers {
Answer{
id,
text,
is_draft
}
}
}
}
he/she 应该看到 A1 和 A2 作为答案。但是,如果另一个用户 U2 目前在草稿中有这个问题的答案,比如 A3。然后 he/she 应该检索 A1、A2 和 A3。
是否有一些通用的解决方案可用?如果不是,建议使用什么方法来编写此功能?
我创建了一个基于 GRANDstack 的问答平台(类似于 Whosebug),使用授权使用 repo graphql-auth-directives。这允许我们检查角色级别或范围级别的身份验证、授权。
在这个平台上,用户可以回答问题,并且可以将答案保存为草稿。只要答案没有发布,用户自己就应该看到它,而不是其他人。然而,其他用户应该会看到所有其他最终确定的答案。
如何创建这种类型的用户级别授权?结果应该提供以下内容:
假设一个 ID 为 someid
的问题 Q。目前已经确定了答案 A1 和 A2。如果某个随机用户 U1 执行查询:
query: {
Question(id:someid){
answers {
Answer{
id,
text,
is_draft
}
}
}
}
he/she 应该看到 A1 和 A2 作为答案。但是,如果另一个用户 U2 目前在草稿中有这个问题的答案,比如 A3。然后 he/she 应该检索 A1、A2 和 A3。
是否有一些通用的解决方案可用?如果不是,建议使用什么方法来编写此功能?