【发布时间】:2020-12-14 10:09:29
【问题描述】:
最近开始使用 React / Apollo Client / Auth0 / Hasura 并且对处理前端权限有一些疑问。我正在使用 Auth0 来处理我对用户是否登录的授权,并在处理突变/查询时让我的后端设置进行检查。我现在的问题是如何在前端处理它。
用户可以创建一个团队,将信息存储在我的“teams”表中,还可以作为经理或教练在我的“team_staff”表中创建记录。这一切都是直截了当的。我现在要做的是当用户访问时,例如:www.mysite.com/team/update/1 检查用户是否存在于“team_staff”表中,如果不向他们显示错误消息甚至重定向。在查看团队时,还希望根据团队成员是否为员工隐藏某些按钮。
我是否应该在登录时处理此问题,并查询用户所属的所有团队并将其存储在会话/cookie 中,或者每次调用时在该组件内部进行查询/检查?还是我走得太远了,应该换一种方式?
希望这个问题有意义。谢谢!
【问题讨论】:
-
登录后,您可以查询权限、角色,无论您需要什么......每个视图/组件/甚至按钮都可以
useQuery使用cache-only读取它获取策略或要求更细化/详细的访问权限 -
@xadm 感谢您的帮助。最终走这条路。
标签: reactjs graphql apollo apollo-client hasura