feathersjs权限-角色

时间:2018-06-21 14:14:24

标签: node.js feathersjs

我正在使用feathersjs作为Web应用程序的后端。我将使用权限来管理对数据库的访问。

我有3个角色:管理员,组织者,用户

我想将每个角色的权限存储在名为“角色”的单独表中。用户有一个带有角色的列,我想在其中存储角色ID。

此外,每个用户仅有权编辑自己的行。因此我需要为每个用户提供类似“ users:update:1234”的信息。

我如何结合它们。文档说用户表需要一列带有“权限”的栏,我可以在其中存储它们。但是我想变得更加灵活。

有没有很好的例子呢?互联网是空的...

问候。

1 个答案:

答案 0 :(得分:1)

feathers-permissions是解决此问题的方法。作为shown here,应该可以这样创建所需的动态角色:

app.service('users').hooks({
  before: checkPermissions({
    roles(context) {
      return [ `users/${context.id}` ];
    }
  })
});

现在,用户必须具有users/123:update权限。但是,可以使用feathers-authentication-hooks来限制对当前用户的请求,而不是通过id来限制权限。