我目前在权限和React Webapp UI方面遇到问题,我想知道是否有人可以提供帮助。当前,我们使用应用程序的路由,该路由处理三种不同的形式。
所有这些都需要通过路由器进行漏斗和身份验证检查,这可以调用端点以获取所需的信息。问题是所需的值不是来自单个端点。如果我只想调用一个端点,那么将在后端的不同微服务中创建一个完整性级别,这是不可接受的。如果我想调用其他端点,则可能会导致页面加载延迟,并且在连接速度慢的情况下对最终用户可见(首先重定向到其他组件,然后重定向到阻止的页面)。>
我正在使用Rest API,所以这与图API不同,我可以在一个调用中发送多个请求。我可以选择在两者之间放置一个代理或一个API网关,以仅依赖一个调用,但是我想应该有一种更干净的方法可以直接在React中进行处理,而不是在操作级别上依赖解决方案。
在获得许可的情况下,我研究了几种不同的方法,研究了路由器/身份验证路径,还研究了一种名为ability的方法,换句话说,用户角色在config中定义,但可以包含对人类友好的语句例如:
can("view", "Proposal")
然后在整个应用中用于限制路由和基于组件的视图的权限限制,例如
<Can I="create" a="Post" ability={ability}>