俩个树结构快速搭建用户搜索体系
大约 1 分钟
首先回顾 tree 结构:
class TreeNode<T> {
value: T
LeafNode?: Array<TreeNode>
constructor(value: T) {
this.value = value
}
}
功能需求:不同部门/用户共同管理同一套文件系统。上级部门可以管理下级部门的文件,但下级部门并无权限查看上级部门的内容。
俩棵树型结构便可很好的实现这个功能。
TreeA 管理部门用户:层级递进为:
000A
|_ 000B1
| |_ 000C1
| |_ 000C2
| |_ 000C3
|_ 000B2
|_ 000B3
A 表示公司,B 表示不同部门,C 表示用户。
TreeB 管理文件系统,及可想象成一个 NAS 盘下的文件目录。
根目录 ~
|_ 文件夹 a
| |_ 文件 1
| |_ 文件 2
| |_ 文件 3
|_ 文件夹 b
|_ 文件夹 c
此时便可以实现想要的功能:
如 000C1
用户的权限是文件 1
对应关系是:000A|000B1|000C1 --> ~/文件夹 a/文件 1
部门000B1
的管理权限是文件夹 a
对应关系是:000A|000B1 --> ~/文件夹 a
由这样的俩棵树的对应关系就有了权限管理的办法,当需要更改部门000B1
的权限时只需要修改 TreeA 部门用户所对应的文件系统的位置(增删改查)。
Loading...