我如何记录一个对象,其中:property_name 是一个字符串 - 但来自 jsDoc 中允许的字符串列表?

问题描述

我正在设计一个 RBAC 机制,希望我可以在将来使用 MongoDB 的某个地方使用它。

这是我实现 RBAC 的想法

我有一个数组中描述的权限列表;

例如:

export default [
  {
    groupName: "system",permissions: [
      {
        key: "canManageRBAC"
        desc: "can manage role based access control"
      },...
    ]
  }
  ...
]

现在有一个角色存储在 MongoDB 中,如下所示:

{
  name: "System Administrator",permissions: {
    canManageRBAC: <value>,...
  }
}

其中使用了 <value> 以便我可以完全控制每个用户的权限。这是一个 3 位数字

例如:

  • 0 ---> 000:all-0,group-0,own-0
  • 1 ---> 001: all-0,group-0,own-1
  • 3 ---> 011: all-0,group-1,own-1
  • 7 ---> 111: all-1,own-1

这是可能的,因为 MongoDB 接受 +1 的任意记录。现在是困难的部分

我想记录下来,以便我可以利用 vscode 中令人印象深刻的智能。

我最初的想法是记录这样的事情。

/**
 * @typedef Permissions
 * @property {number} [canmangerBAC] Can manage role based access control
 * @property {number} [canManageUser] Can manage users
 ...
 */

但这将是一项乏味的重复性任务。有没有更好的选择?

提前致谢。

PS:另外,我接受任何关于 RBAC 系统本身的新建议或想法:)。因为我主要是在试验。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)