羽毛管理角色和权限检查的最佳方法

时间:2018-10-15 13:23:07

标签: feathersjs feathers-hook feathers-authentication feathers-service

我是羽毛的新手,在羽毛中实现基于功能的角色系统的困惑很少。

当前我不需要代码帮助,我需要的是您对我的处境的想法和建议。

首先,我想告诉您到目前为止我已完成的工作。

  • 带有羽毛Js + VueJs +猫鼬的基本管理面板。
  • 羽毛用户身份验证+ UI登录页面
  • 经过认证的用户仪表板屏幕
  • 经过认证的用户个人资料编辑屏幕
  • 所有用户列表屏幕
  • 用户编辑屏幕
  • 用户删除屏幕

所以基本上我已经为我的项目完成了一个用户模块。

现在,我要实现的是为用户设置角色和权限。

目标

  1. 在数据库中创建“角色”表,例如:“ ceo”,“ pm”,“团队领导”,“用户”等。 (我可以处理)
  2. 在数据库中创建“权限”表,并插入一组初始可用角色,例如:“创建用户”,“列表用户”,“视图仪表板”,“编辑配置文件”等。 (我可以处理)
  3. 创建一个屏幕以创建/编辑角色,并为该角色分配一组可用权限。 (我可以处理)
  4. 修改现有的用户创建/编辑屏幕,为用户分配角色。 (我可以处理)

现在在羽毛方面,我计划创建一个返回已验证用户可用的所有权限的函数,并使用此函数创建一个检查权限的钩子,并将其用作服务的钩子。

// here 'delete-user', 'create-user', ''update-user' are some of the available permissions in database
myservice.hooks({
  before: {
   create: [
      hasPermission('create-user')
    ], 
   patch: [
      hasPermission('update-user')
    ],
    delete: [
      hasPermission('delete-user')
    ]
  }
});

我的问题是..我做对了吗?任何建议或更正,不胜感激。 在此先感谢。

0 个答案:

没有答案