【问题标题】:How to 'restrict owner' but allow 'admin' role in Feathers如何在 Feathers 中“限制所有者”但允许“管理员”角色
【发布时间】:2019-03-31 05:26:37
【问题描述】:

我使用 feathers-permissions 和 feathers-authentication-hooks 来构建一个 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']})]
  },

这样管理员仍然无法查看/更新其他帐户。

有什么帮助吗?

【问题讨论】:

    标签: authentication permissions hook rbac feathersjs


    【解决方案1】:

    我在feathers-permissions找到了答案 -> Conditionally restricting roles

    此外,是的,最好使用现有的钩子,如feathers-hooks-common 中的钩子。但如果它不可行,那么您始终可以创建适合您需求的自己的钩子。

    【讨论】:

      猜你喜欢
      • 2013-04-28
      • 2014-06-16
      • 1970-01-01
      • 2012-10-09
      • 2015-05-17
      • 2015-01-24
      • 1970-01-01
      • 2014-07-06
      • 2014-11-11
      相关资源
      最近更新 更多