我使用羽毛许可和羽毛认证挂钩来构建RBAC系统,但仍然无法实现。我想要的例如:
before: {
all: [],
find: [authenticate('jwt'), checkPermissions({roles: ['admin']})],
get: [authenticate('jwt'), checkPermissions({roles: ['admin']}), hooks.restrictToOwner({ownerField: '_id'})],
create: [hashPassword()],
update: [hashPassword(), authenticate('jwt'), checkPermissions({roles: ['admin']}), hooks.restrictToOwner({ownerField: '_id'})],
patch: [hashPassword(), authenticate('jwt'), checkPermissions({roles: ['admin']}), hooks.restrictToOwner({ownerField: '_id'})],
remove: [authenticate('jwt'), checkPermissions({roles: ['admin']})]
},
这样,管理员仍然无法查看/更新其他帐户。
有帮助吗?
答案 0 :(得分:1)
我在feathers-permissions
-> Conditionally restricting roles
此外,是的,最好使用现有的钩子,例如feathers-hooks-common
中的钩子。但是,如果这不可行,那么您总是可以创建自己的钩子来满足您的需求。