一种基于用户权限的目录树的构建方法

文档序号:6459567阅读:322来源:国知局
专利名称:一种基于用户权限的目录树的构建方法
技术领域
本发明涉及海量数据高效率且稳定可靠的数据装载方案,特别涉及一种基于 用户权限的目录树的构建方法。
背景技术
由于目录树能够直观地表示功能间的层次关系, 一般的设计都采用浏览器左 边显示功能目录树,而在右边显示相应的工作区域的设计方式。这样能够向浏览 者展示清晰、层次分明的信息组织结构形式,从而使浏览者较易从总体上把握信 息架构。
现有的目录树常用的生成方式是从数据库中读取所有的节点信息,然后在目 录树中给予全部显示的方式实现。但显示方式有很大的缺点,即无论什么用户登 陆进来,看到的都是一个相同的,具有所有功能的目录树。这种方式并不能根据 各个用户权限的不同而显示其具有功能的相应功能目录树,提高了界面的复杂性 和操作的繁琐性。

发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷,提供一种为用户提供 了简洁的操作界面、提高了系统易用性的目录树的构建方法。
本发明的目的可以通过以下技术方案来实现 一种基于用户权限的目录树的 构建方法,其特征在于,该构建方法包括以下步骤
(1) 用户权限位的分配;
(2) 数据库表的设计;
(3) 根据用户所具有的权限生成相应的目录树。 所述的用户权限位的分配包括以下步骤
(1) 给每个用户分配一个记录用户权限的字符串,该字符串由0、 l表示;
(2) 将所有的叶子功能节点按顺序排列出来,按照顺序将功能叶子与字符串的位数一一对应。
所述的数据库表的设计包括以下步骤
(1) 将目录树上的目录分为各级菜单;
(2) 将各级菜单的相关信息分级存在数据库表里; 所述的各级菜单表包括该级菜单的排列序号、每个功能叶子在字符串中对
应的权限位、各级菜单名称、点击该叶子时显示的网页的URL、对应的父节点的 序号与用于表示该节点是不是没有子节点的字段。
所述的用于表示该节点是不是没有子节点的字段,没子节点时此字段为N, 有子节点时此字段为Y。
所述的根据用户所具有的权限生成相应的目录树包括
(1) 实现添加节点构造目录树的方法;
(2) 根据用户权限判断用户是否具有功能叶子的操作权限;
(3) 根据判断结果调用步骤(1)的方法进行添加生成目录树。 与现有技术相比,本发明在MIS系统中,结合JavaScript,数据库技术以及JSP
技术,设计并实现了根据用户权限动态的生成相应的目录树,为用户提供了简洁 的操作界面,提高了系统的易用性。


图1是本发明一种基于用户权限的目录树的构建方法的根据权限构造目录树 节点的流程图。
具体实施例方式
本发明采用JSP和JavaScript与数据库技术结合,根据用户不同的权限动态地 生成相应的功能目录树。而且实现了动态的增加,修改,和删除目录树的管理功 能。为用户的提供了简洁的操作界面,提高了系统的易用性。本发明以二级目录 树为例,实现无限级目录树亦同理类似实现。
(1)用户权限位的分配
要根据用户的权限生成对应的目录树,首先需要记录每个用户的具体权限, 系统可用其进行判断用户有无某项功能的操作权限。
我们采用的方法是给每个用户分配一个记录用户权限的字符串,该字符串01表示。具体做法是把所有的叶子功能节点按顺序排列出来,第一个功能叶子对 应字符串的第一位,第二个功能叶子对应字符串的第二位…。如果用户具有第N
项叶子功能操作权限,则该字符串第N位就是"1",如果不具有该权限,则该字 符串第N位就是"0"。比如目录树上的全部子功能是"添加系统用户","修改 用户信息","修改用户密码",若一个用户具有以上"添加系统用户","修 改用户密码"两个功能的权限,那么他相应表示权限的字符串是"101"。如果一 个用户只具有修改用户密码的权限,那么就是"01"。
(2) 数据库表的设计
把目录树上的目录分为一级目录,二级目录。把一级菜单的相关信息存在一 张名为"一级菜单"的数据库表里面,二级菜单的相关信息存在二级菜单的数据 库表里。各级菜单表里面包括①该级菜单的排列序号, 一级菜单表里面表示为 FUNC—FIRST—ID, 二级菜单表里面表示为FUNC_SECOND—ID,根据排列序号值 的大小可以调整显示功能排列的顺序;②每个功能叶子在字符串中对应的权限位, 一二级菜单表里面都是POWER—ID;③一、二级菜单名称,此字段显示在目录树 中,在一二级菜单表中分别为FUNC_FIRST—NAME和FUNC—SECOND—NAME; ④点击该叶子时显示的网页的URL, 一二级菜单表里面都是FUNC—URL;⑤二级 菜单表还包括对应的父节点的序号FUNC_FIRST—ID; —级菜单包括用于表示该节 点是不是没有子节点的LEAF,没子节点时此字段为N,反之为Y。把上述数据写 入到数据库,存储在对应的数据库表中。
(3) 实现方法
根据用户所具有的权限生成相应的目录树的实现方法分为二大部分,第一部
分是实现添加节点构造目录树的方法;第二部分是根据用户权限判断用户是否具 有功能叶子的操作权限,然后根据判断结果调用第一部分实现的方法进行添加生 成目录树。因为JSP本身并没有treeview控件,所以目录树的构造生成部分也亦 需要进行编写,用JavaScript对其进行实现;其中判断有无权限的部分用JSP进行实现。
①目录树菜单的添加
把需要显示的菜单添加到目录树上的添加方法为 AddTreeNode(parNode,node)。其接口定义为第一个参数不为空,则把节点加入 到该节点下面,成为其子节点,若第一个参数为空,则把节点加人到树上,成为一级目录。而对象node的接口为node(icon,text,script),其中的"icon"表示该功 能在目录树上显示的图标,"text"表示该功能在目录树上显示的文字,"script" 为点击该功能时所链接的URL地址。 ②根据权限构造目录树节点描述
如图1所示,当用户登陆进入系统的时候,读取该用户记录权限的字符串。 按一级菜单的序号顺序读出第一个一级目录菜单,然后根据该一级菜单序号找到
其二级子菜单,按二级菜单的序号顺序排列按序读出,然后逐位取记录权限的01 字符判断相应的位中是"0"或者"1",即可相应的判断该用户是否有该二级功 能中的权限,若有,则把一级目录和该二级目录加入到目录树上,若无,则不加 入。继续读出该一级目录的第二个二级目录,再判断是否加入目录树中,如此循 环,直至显示完毕。
权利要求
1.一种基于用户权限的目录树的构建方法,其特征在于,该构建方法包括以下步骤(1)用户权限位的分配;(2)数据库表的设计;(3)根据用户所具有的权限生成相应的目录树。
2. 根据权利要求1所述的一种基于用户权限的目录树的构建方法,其特征 在于,所述的用户权限位的分配包括以下步骤(1) 给每个用户分配一个记录用户权限的字符串,该字符串由0、 l表示;(2) 将所有的叶子功能节点按顺序排列出来,按照顺序将功能叶子与字 符串的位数一一对应。
3. 根据权利要求1所述的一种基于用户权限的目录树的构建方法,其特征 在于,所述的数据库表的设计包括以下步骤(1) 将目录树上的目录分为各级菜单;(2) 将各级菜单的相关信息分级存在数据库表里;
4. 根据权利要求3所述的一种基于用户权限的目录树的构建方法,其特征 在于,所述的各级菜单表包括该级菜单的排列序号、每个功能叶子在字符串 中对应的权限位、各级菜单名称、点击该叶子时显示的网页的URL、对应的父 节点的序号与用于表示该节点是不是没有子节点的字段。
5. 根据权利要求3所述的一种基于用户权限的目录树的构建方法,其特征 在于,所述的用于表示该节点是不是没有子节点的字段,没子节点时此字段为 N,有子节点时此字段为Y。
6. 根据权利要求1所述的一种基于用户权限的目录树的构建方法,其特征 在于,所述的根据用户所具有的权限生成相应的目录树包括(1) 实现添加节点构造目录树的方法;(2) 根据用户权限判断用户是否具有功能叶子的操作权限;(3) 根据判断结果调用步骤(1)的方法进行添加生成目录树。
全文摘要
本发明涉及一种基于用户权限的目录树的构建方法,该构建方法包括以下步骤用户权限位的分配;数据库表的设计;根据用户所具有的权限生成相应的目录树。与现有技术相比,本发明在MIS系统中,结合JavaScript,数据库技术以及JSP技术,设计并实现了根据用户权限动态的生成相应的目录树,为用户提供了简洁的操作界面,提高了系统的易用性。
文档编号G06F17/30GK101620601SQ20081003989
公开日2010年1月6日 申请日期2008年6月30日 优先权日2008年6月30日
发明者谧 冯 申请人:上海全成通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1