2017-08-28 32 views
3

使用后端的权限我用Rails作为后端和AngularJS作为前端Web应用程序,它有一个相当复杂的许可制度,必须相应地隐藏在前端/显示按钮。如何在前端

例如,假设像易趣,如果我创建了一个产品,我可以修改,删除等。但有人能分担我的产品,我也可以编辑,但不能删除。所以权限是通过资源来计算的,而不是使用角色。

我想增加一个“权限”属性,每个JSON对象,像:

[{ 
    id: 1, 
    name: "product 1", 
    permissions: { 
     canEdit: true, 
     canDelete: false 
    } 
}, 
{ 
    id: 2, 
    name: "product 2", 
    permissions: { 
     canEdit: true, 
     canDelete: true 
    } 
}] 

是否有每个资源的权限发送到前端的任何最佳做法?

只是要清楚,这个权限仅用于显示/隐藏按钮,仍然让这个资源,即使人改变了前端

+0

您不应该在前端处理像这样的权限,因为有人可以轻松修改它... –

+0

此权限仅用于显示/隐藏按钮,更改它不会允许该人执行任何操作 –

回答

0

由于逻辑值弄清楚后端什么用户可以做每个项目都在服务器端确定,我认为它是多余的传递与这些项目相关的客户端,除非额外的处理是根据用户的交互在客户端做的权限。 在你的情况,也许你可以返回对象的不同集合,说一个可编辑列表和一个只读列表到客户端的基础上,相关权限,然后根据项目所属的集合渲染的行动?

+0

好奇知道这是否有帮助? –

+0

端点可以接收用户identificacion,与一组与相关的所有的显示/隐藏部件和特定前端(在此情况下为角一个)布尔值密钥的检查它的权限和响应。 –