Javascript 用户';feathers.js API中的s权限

Javascript 用户';feathers.js API中的s权限,javascript,rest,permissions,feathersjs,feathers-authentication,Javascript,Rest,Permissions,Feathersjs,Feathers Authentication,我正在尝试创建一些RESTAPI,其中包含管理员、超级管理员等用户角色。 我试图通过使用modulemodule来实现这一点,但是在互联网上没有任何有效的示例。你曾经处理过这样的任务吗? 我现在做的是: 羽毛生成应用程序,然后羽毛生成身份验证。下一步该怎么办?在Feather中实现权限和角色的秘密在于,它可以为您提供所需的一切,并提供您可能需要的所有灵活性。实际上不需要花时间寻找一个单独的模块并学习它的API 将权限(通常只是字符串)存储在用户的数组中(或基于用户ID的单独权限服务),然后在钩子

我正在尝试创建一些RESTAPI,其中包含管理员、超级管理员等用户角色。 我试图通过使用
module
module来实现这一点,但是在互联网上没有任何有效的示例。你曾经处理过这样的任务吗? 我现在做的是:
羽毛生成应用程序
,然后
羽毛生成身份验证
。下一步该怎么办?

在Feather中实现权限和角色的秘密在于,它可以为您提供所需的一切,并提供您可能需要的所有灵活性。实际上不需要花时间寻找一个单独的模块并学习它的API

将权限(通常只是字符串)存储在用户的数组中(或基于用户ID的单独
权限
服务),然后在
钩子前检查是否允许用户执行钩子注册为的操作(此处权限称为
messages::create
),如果不扔一个:

此模式还可以通过节点的任何现有权限模块来实现。是一个简单的模块,允许更轻松地执行此操作


有关更多信息,请参阅关于和的博客帖子。

在Feather中实现权限和角色的秘密在于,它确实提供了您所需要的一切,以及您可能需要的所有灵活性。实际上不需要花时间寻找一个单独的模块并学习它的API

将权限(通常只是字符串)存储在用户的数组中(或基于用户ID的单独
权限
服务),然后在
钩子前检查是否允许用户执行钩子注册为的操作(此处权限称为
messages::create
),如果不扔一个:

此模式还可以通过节点的任何现有权限模块来实现。是一个简单的模块,允许更轻松地执行此操作

有关更多信息,请参阅关于和的博客文章

const { Forbidden } = require('feathers-errors');

app.service('messages').hooks({
  before: {
    create: [ context => {
      // `params.provider` is set for any external access
      // usually we don't need to check permissions for internal calls
      const isExternal = !!context.params.provider;

      if(isExternal && !context.params.user.permissions.includes('messages::create')) {
        throw new Forbidden('You are not allowed to access this');
      }
    }]
  }
});