一种权限树的生成方法及装置的制造方法

文档序号:9911018阅读:473来源:国知局
一种权限树的生成方法及装置的制造方法
【技术领域】
[0001] 本发明涉及计算机技术领域,尤其涉及一种权限树的生成方法及装置。
【背景技术】
[0002] 树形视图(Tree View)层次关系清晰,适合表现具有分支和层次关系的数据,如行 政区划、文件系统的目录结构,部门关系的组织机构以及数字内容的分类管理等。树形结构 形象直观,在计算机应用系统开发时,经常使用树形结构来显示和存储层次数据。
[0003] 对于多用户的计算机应用系统,不同用户登录系统时,其享有的操作权限也不尽 相同,如应用系统的管理员或级别高的领导可以查看树形结构所有节点的内容,部门领导 只能查看本部门下属节点的内容,而对于一般操作员,管理员只会授予其少数几个节点相 关内容的查看和操作权限,需要过滤掉基准树上操作用户无权限的相关节点及分支、保留 基准树上操作用户有权限的节点和分支,对于有权限的节点,如果在同一树支上,需要将该 节点的上下级关系保持在显示的场景中,这种数据结构称之为权限树,权限树界面简洁清 晰、安全性好。
[0004] 在具有多个节点的复杂的树结构中,如果某操作用户只有很少的几个节点具有查 看和操作权限,树的展示就成了问题。
[0005] 现有技术有些解决方案直接全部丢弃非授权节点,只保留授权节点并将授权的节 点作为列表展示,这样丢弃了基准树节点之间的从属和层次关系。
[0006] 现有技术另外一些解决方案根据基准树的数据结构将授权节点进行重新组织,得 到一个全新的树形结构,这种方式虽然最终也得到树形结构,但其从属关系和基准树是不 一样的。
[0007] 例如,在申请号为201310654772. 2的专利基准树中"专家假期公告"的上级节点 为"领导假期公告",而根据集团信息员用户的权限生成的权限树(参照树)中"专家假期 公告"的上级节点变成了"栏目",改变了基准树节点之间的从属关系。
[0008] 现有技术还有一些解决方案虽然能够保持大部分节点的从属关系,但是对于可见 节点和可见数据结构需分别授权,因为授权原因会导致从基准树生成多棵权限树,这样数 据处理和展现比较复杂,这种状况也会导致在权限树上难以识别授权节点在基准树上的从 属关系。
[0009] 例如,在申请号为201110367407. 4,发明名称为"树形数据结构的展示方法与系 统"的中国发明专利中,虽然能够保持大部分节点的从属关系,但是对于可见节点和可见数 据结构需分别授权,而且授权时必须保证"所述可见节点在数据结构上为可见数据结构的 最高级节点的子节点",否则会导致权限树生成逻辑上的混乱,而且如第103行所述"如果 有多个可见数据结构的最高级节点,那么显示时需要显示为多棵树",因为授权原因会导致 从基准树生成多棵权限树,多棵权限树即为数据结构概念中的森林,数据处理和展现比较 复杂,这种状况也会导致在权限树上难以识别授权节点在基准树上的从属关系。

【发明内容】

[0010] 本发明的目的是提供一种权限树的生成方法及装置,用于解决现有技术生成的权 限树结构不清晰,无法通过权限树掌握授权节点在基准树上的从属关系的问题。
[0011] 本发明的目的是通过以下技术方案实现的:
[0012] -种权限树的生成方法,包括:
[0013] 获取用户的授权节点集合;
[0014] 将授权节点集合中的所有节点加入权限树中,采用第一标识对加入权限树的节 点进行授权标记后,依次从所述授权节点集合中读取每一个授权节点,判断当前读取的授 权节点的上级节点是否已经归属于权限树;若是,说明权限树已经存在所述上级节点;否 贝1J,将所述上级节点作为连接节点加入权限树中,并采用第二标识进行非授权标记,以及继 续处理所述上级节点的上级节点执行相同操作,直至根节点;
[0015] 待全部授权节点处理完毕后,将包含有根节点、授权节点和连接节点的权限树进 行呈现。
[0016] 这样,不仅能够实现生成的权限树界面简洁清晰、安全性好,而且能够在权限树上 保留所有授权节点到根节点的完整路径,进一步能够清晰识别授权节点在基准树上的从属 关系而无关的非授权节点不显示,使得权限树结构清晰。
[0017] 可选的,将授权节点和连接节点加入权限树中,包括:
[0018] 将所述授权节点集合中的所有节点全部加入权限树中,授权节点集合中的一个节 点生成为权限树中的一个授权节点,并对应当前生成的授权节点,记录所述授权节点的节 点名称、节点标识ID、上级节点标识ID和授权标记;
[0019] 将一个非授权节点作为连接节点加入权限树中,包括:
[0020] 将所述一个非授权节点生成为权限树中的一个连接节点,并对应当前生成的连接 节点,记录所述连接节点的节点名称、节点标识ID,上级节点标识ID和非授权标记。
[0021] 这样权限树呈现时通过节点标识ID和上级节点标识ID的关联关系确定权限树每 条分支的路径,提高权限树的生成效率,能够保证各节点在权限树上的从属关系更加准确。
[0022] 可选的,进一步包括:
[0023] 在第一次读取到根节点时,记录所述根节点的节点名称、节点标识ID、上级节点标 识ID和授权标记或非授权标记,其中,所述上级节点标识ID的取值为用于表征当前节点为 根节点的设定值,一个权限树中存在且仅存在一个根节点,根节点为授权节点或者为连接 节点。
[0024] 可选的,将包含有根节点、授权节点和连接节点的权限树进行呈现,包括:
[0025] 若当前节点为授权节点,则在呈现过程中,提示用户对当前节点具有操作权限;
[0026] 若当前节点为连接节点,则在呈现过程中,提示用户对当前节点不具有操作权限。
[0027] 可选的,进一步包括:
[0028] 呈现所述权限树后,在接收到用户针对所述权限树中一个节点对应的内容的请求 时,判断所述一个节点的类型;
[0029] 若所述一个节点为授权节点,则直接打开所述一个节点对应的内容;
[0030] 若所述一个节点为连接节点,则禁止打开所述一个节点对应的内容。
[0031] -种权限树的生成装置,包括:
[0032] 获取单元,用于获取用户的授权节点集合;
[0033] 处理单元,用于将授权节点集合中的所有节点加入权限树中,采用第一标识对加 入权限树的节点进行授权标记后,依次从所述授权节点集合中读取每一个授权节点,判断 当前读取的授权节点的上级节点是否已经归属于权限树;若是,说明权限树已经存在所述 上级节点;否则,将所述上级节点作为连接节点加入权限树中,并采用第二标识进行非授权 标记,以及继续处理所述上级节点的上级节点执行相同操作,直至根节点;
[0034] 呈现单元,用于在全部授权节点处理完毕后,将包含有根节点、授权节点和连接节 点的权限树进行呈现。
[0035] 这样,不仅能够实现生成的权限树界面简洁清晰、安全性好,而且能够在权限树上 保留所有授权节点到根节点的完整路径,进一步能够清晰识别授权节点在基准树上的从属 关系而无关的非授权节点不显示,使得权限树结构清晰。
[0036] 可选的,将授权节点和连接节点加入权限树中时,所述处理单元用于:
[0037] 将所述授权节点集合中的所有节点全部加入权限树中,授权节点集合中的一个节 点生成为权限树中的一个授权节点,并对应当前生成的授权节点,记录所述授权节点的节 点名称、节点标识ID、上级节点标识ID和授权标记;
[0038] 将一个非授权节点作为连接节点加入权限树中,所述处理单元用于:
[0039] 将所述一个非授权节点生成为权限树中的一个连接节点,并对应当前生成的连接 节点,记录所述连接节点的节点名称、节点标识ID,上级节点标识ID和非授权标记。
[0040] 这样权限树呈现时通过节点标识ID和上级节点标识ID的关联关系确定权限树每 条分支的路径,提高权限树的生成效率,能够保证各节点在权限树上的从属关系更加准确。
[0041] 可选的,所述处理单元进一步用于:
[0042] 在第一次读取到根节点时,记录所述根节点的节点名称、节点标识ID、上级节点标 识ID和授权标记或非授权标记,其中,所述上级节点标识ID的取值为用于表征当前节点为 根节点的设定值,一个权限树中存在且仅存在一个根节点,根节点为授权节点或者为连接 节点。
[0043] 可选的,将包含有根节点、授权节点和连接节点的权限树进行呈现时,所述呈现单 元用于:
[0044] 若当前节点为授权节点,则在呈现过程中,提示用户对当前节点具有操作权限;
[0045] 若当前节点为连接节点,则在呈现过程中,提示用户对当前节点不具有操作权限
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1