我正在使用feathersjs作为Web应用程序的后端。我将使用权限来管理对数据库的访问。
我有3个角色:管理员,组织者,用户
我想将每个角色的权限存储在名为“角色”的单独表中。用户有一个带有角色的列,我想在其中存储角色ID。
此外,每个用户仅有权编辑自己的行。因此我需要为每个用户提供类似“ users:update:1234”的信息。
我如何结合它们。文档说用户表需要一列带有“权限”的栏,我可以在其中存储它们。但是我想变得更加灵活。
有没有很好的例子呢?互联网是空的...
问候。
答案 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来限制权限。