Как «ограничить владельца», но разрешить роль «администратора» в «Перьях» - PullRequest
0 голосов
/ 26 октября 2018

Я использую перо-разрешения и перо-аутентификацию-хуки для построения системы 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']})]
  },

Таким образом, администратор по-прежнему не может просматривать / обновлять другие учетные записи.

Любая помощь?

1 Ответ

0 голосов
/ 28 октября 2018

Я нашел ответ в feathers-permissions -> Условно ограничивающие роли

Кроме того, да, лучше использовать существующие хуки, такие как в feathers-hooks-common. Но если это невозможно, вы всегда можете создать свой собственный крючок, который будет соответствовать вашим потребностям.

...