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