我已经阅读了几篇关于rest api +单页应用程序中的授权处理的文章。他们主要建议如下:初始化前端应用程序时,检索用户角色并在客户端检查角色并基于它应用逻辑,基于角色显示/隐藏特定控件等。
但是我没有找到任何关于更复杂的授权逻辑的文章。
例如:有基于角色的访问控制的rest api(我使用的是Yii2 rbac)。有前端应用程序(我正在使用角度)。在这个应用程序中,列出了帖子列表。因此,根据用户角色,此列表中每个帖子的“编辑”按钮应该是可见/隐藏的。
有以下角色:
行政
用户 - 登录用户
来宾
问题是,具有“用户”角色的用户的“编辑”权限取决于上下文(业务规则) - 如果用户是帖子的作者,他允许编辑帖子,在其他地方则被禁止。
那么在应用程序的前端部分处理此类授权的最佳实践是什么?
当用户执行对休息端点的调用时,为每个实体提供操作权限以响应?