如何根据授权拆分数据字段和逻辑?

时间:2017-08-17 07:03:28

标签: api security authorization graphql

例如,我有posts个端点,posttitledescriptionstatus。当我向用户展示帖子时,我想将post字段限制为titledescription。但是,当我向管理员显示post时,我想发送post的所有字段,那么它是如何吐出来的?我可以为包含titledescription的用户创建两个帖子模型,对于所有字段的管理员,查看用户的角色并决定选择哪个模型。或者在每个模型和角色上创建规则,查看角色并按角色剪切数据。我使用graphql并且只能获取我需要的字段,但它不是安全性,因为用户可以修改请求并获取所有数据。如何解决这个问题?

谢谢!

1 个答案:

答案 0 :(得分:1)

我不会制作两个模型,但会限制用户对服务器端titledescription的访问权限。

在客户端,如果用户是管理员,我只会额外要求status。 (为了使这个更优雅,请参阅fragments。)

您需要在服务器端识别某人是管理员还是普通用户,否则没有API可以帮助您保存已修改的请求。