如何在sails.js中为ember.js隔离每个用户群的所有数据?

时间:2014-08-25 18:57:38

标签: ember.js orm ember-data sails.js json-api

我想构建一个带有风帆作为后端的简单ember应用程序。 有很好的blueprints可以帮助我,但我希望所有数据都是完整的用户隔离。所以它实际上是一个用户应用程序,但适用于多个用户。

因此每个用户的所有数据都不同。因此,当ember向/notes/findAll发出请求时,我只想返回与用户对应的注释。另一方面,用户拥有属于他的所有数据的完全权限(除了用户模型,这是唯一的特殊情况)。

最简单的方法是什么?

  • 我可以自己修改蓝图!但这是个好主意吗?能够稍后通过基于每个模型的配置将它组合起来会很好。

  • 有没有办法用政策做到这一点?那么策略设置了安全的用户过滤器吗?

  • 还有其他更好/默认的方式来解决我的问题吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

我正在构建相同类型的应用程序。我通过向每个模型添加owner属性并在策略中设置它来实现此目的。

https://github.com/tjwebb/xtuple-api/blob/master/api/models/base/xTupleObject.js#L29-L32

我创建了PermissionRole模型,如果用户要求的对象通过UserPermission与他们的Role对象相关联,然后他们被授权采取特定行动。

https://github.com/tjwebb/xtuple-api/blob/master/api/policies/authorize.js#L51-L56

如果要授予对findAll方法的访问权限,您可能希望在所有控制器继承的超类中重新实现它。我还没有完成这个部分,但这是我解决这个问题的计划。