在Web用户界面中生成资源访问入口的方法及系统的制作方法

文档序号:6467244阅读:168来源:国知局
专利名称:在Web用户界面中生成资源访问入口的方法及系统的制作方法
技术领域
本发明涉及用户界面开发技术,具体涉及一种在Web用户界面中生成资 源访问入口的方法及系统。
背景技术
随着网络、信息技术的发展,企业内部的应用越来越多。从企业经营的 角度考虑,其往往存在着各种不同的业务需求比如,人力资源管理、办公自 动化、导审批、投资评估、财务系统等,应用类型覆盖Web类型、c/s类型、 Notes类型、文件(数据)交换类型、Email类型等。所有的应用软件都是在总 公司局域网中运行,它可以为内部员工、出差员工、合作伙伴和分支机构提供 服务,并保证服务的安全传输、远程访问和身份认证等安全问题。
目前,为了充分利用信息技术的优势,企业需要以统一的用户访问入口 展现不同类型的资源,同时还需要考虑到基于角色的安全性访问要求。比如在 某企业,需要通过电子表单进行各种业务审批、需要通过工作流系统流转这些 电子表单和相关数据、在审批过程中还需要通过相关的才咏和查询系统从多角
度分析多种业务数据,甚至于还需要使用第三方独立的业务系统,如财务或人 力资源系统等,以便为决策提供参考。所有这些应用都会存在相关的用户访问 界面,而从用户使用便捷的角度出发,如果能将这些系统对应的资源以一种可 集中访问的方式进行展现,并且兼顾访问权限的要求,会为其工作带来极大的 便利,也会极大地提升信息技术的应用价值。这样,就对信息系统使用的便捷 性提出了更高的要求,特别是体现在用户访问界面的构造上。需解决的问题主 要包括如何能快速构建可支持访问不同类型资源的用户展现;用户通过展现 如《可动态适应不同用户的访问4又限。
为此,现有技术中提供了以下两种解决方案
一、通过在静态页面中包含所有资源访问入口的方式
针对不同企业的用户要求,釆用支持Web应用开发的页面脚本构建统一的 静态访问界面。如图1所示,在此界面中,所有类型的资源访问链接都预先写入到此页面脚本中,当访问某资源对应的链接时,再由该资源对应的权限控制 机制校验用户的访问权限。这种方案要求资源对应的链接地址已经是明确的, 是静态的与用户无关的,对于所有不同角色的用户,当他们访问系统时,资源 访问入口展现形式与数量是固定的。
这种方法主要存在以下问题
1、 在复杂的业务系统中,资源类型众多,每种类型的资源数量也是非常 庞大,如果这些资源不加过滤全部通过一个界面进行展现,无论采用何种表现 组织方式,从系统的执行效率和用户的可用性角度出发,都是无法忍受的。
2、 在系统上线运行后,如果根据业务要求需要动态调整资源访问入口数 量和链接地址,要由开发人员手工修改页面表现代码,会带来较高的维护成本 和较长的维护周期。
二、在运行期通过在页面中加入动态生成的资源对应链4矣的方式 将要访问的各种资源对应的链接不预先写入到静态页面中,而是将资源 对应的链接通过变量进行表示,在运行期,通过后台的服务动态获取资源对应 的链接,并为链接对应的变量进行赋值,继而生成最终的表现界面,如图2所 示。
此方案虽然可以为系统内的开发人员降低一部分开发和后期维护的工作 量,并可适应未来资源访问地址的可能的变化。但由于每类用户对应的资源也 是在页面文件中明确表示的,因此在资源数量庞大的情况下,还是会影响页面 的显示效率以及用户的可用性。而且,在实际运行环境下,也只能适应静态的 展现模型。

发明内容
本发明提供一种在Web用户界面中生成资源访问入口的方法及系统,以 提高Web用户界面中资源访问入口展现结构的通用性及灵活性,方便用户的 使用。
本发明提供一种在Web用户界面中生成资源访问入口的方法,包括 获取用户所属角色数据及用户权限;
根据所述用户所属角色数据及预先生成的资源展现模板、角色与资源访问权限映射关系,构建所述用户对应的资源展现模型;
根据用户权限对所述资源展现模型进行过滤,生成对应所述用户的资源展
现树;
根据所述资源展现树在Web用户界面生成层次化的资源访问入口 。 优选地,所述资源展现模型中的各节点具有以下属性资源类型,所述资
源类型的属性值包括动态资源节点、静态资源节点。
优选地,当所述节点的资源类型属性的属性值为动态资源节点时,所述节
点还具有以下属性委托实现类,所述委托实现类用于解析出所述节点的子节点。
优选地,所述根据用户权限对所述资源展现模型进行过滤,生成对应所述 用户的资源展现树包括
遍历所述资源展现模型的各节点;
如果本节点的资源类型的属性值为静态资源节点,并且所述用户对本节点 的资源类型有访问权限,则将本节点加入到对应所述用户的资源展现树中; 如果本节点的资源类型的属性值为动态资源节点,并且所述用户对本节点
的资源类型有访问权限,则将本节点加入到对应所述用户的资源展现树中,并
根据本节点的委托实现类获取本节点的子节点集合。
优选地,所述获取用户所属角色数据及用户权限包括 当用户登陆Web用户界面时,获取所述用户的用户名; 根据所述用户名查找用户的注册信息,得到用户所属角色数据及用户权限。
本发明提供一种在Web用户界面中生成资源访问入口的系统,包括 用户信息获取单元,用于获取用户所属角色数据及用户权限; 构建单元,用于根据所述用户所属角色数据及预先生成的资源展现模板、
角色与资源访问权限映射关系,构建所述用户对应的资源展现模型;
过滤单元,用于根据用户权限对所述资源展现模型进行过滤,生成对应所
述用户的资源展现树;
展现单元,用于根据所述资源展现树在Web用户界面生成层次化的资源
访问入口 。优选地,所述资源展现模型中的各节点具有以下属性资源类型,所述资 源类型的属性值包括动态资源节点、静态资源节点。
优选地,当所述节点的资源类型属性的属性值为动态资源节点时,所述节 点还具有以下属性委托实现类,所述委托实现类用于解析出所述节点的子节 点。
优选地,所述过滤单元包括
节点提取子单元,用于遍历所述资源展现模型的各节点; 判断子单元,用于判断所述节点提取子单元遍历的节点; 添加子单元,用于根据所述判断子单元的判断结果,如果本节点的资源类 型的属性值为静态资源节点,并且所述用户对本节点的资源类型有访问权限, 则将本节点加入到对应所述用户的资源展现树中;如果本节点的资源类型的属
性值为动态资源节点,并且所述用户对本节点的资源类型有访问权限,则将本 节点加入到对应所述用户的资源展现树中,并根据本节点的委托实现类获取本 节点的子节点集合。
优选地,所述用户信息获取单元包括
用户名获取子单元,用于当用户登陆Web用户界面时,获取所述用户的 用户名;
用户属性获取子单元,用于根据所述用户名查找用户的注册信息,得到用 户所属角色数据及用户权限。
本发明在Web用户界面中生成资源访问入口的方法及系统,获取用户所 属角色数据及用户权限;根据所述用户所属角色数据及预先生成的资源展现模 板、角色与资源访问权限映射关系,构建所述用户对应的资源展现模型;根据 用户权限对所述资源展现模型进行过滤,生成对应所述用户的资源展现树;根 据所述资源展现树在Web用户界面生成层次化的资源访问入口。提高了 Web
式下,构建静态资源树形结构的需求,又可以解决传统实现方式无法解决的基 于用户权限动态生成资源树形结构的需求。
由于本发明在Web用户界面生成的层次化的资源访问入口是基于用户角 色的资源树机制的,因而可避免与用户无关资源的解析与加载时间,可提升用户界面的使用体验。


图1是现有技术中在静态页面中提供所有资源访问入口方式的示意图2是现有技术中动态生成资源对应链接方式的示意图3是本发明实施例在Web用户界面中生成资源访问入口的方法的流程
图4是本发明实施例的方法在具体应用时的一种典型实现流程; 图5是本发明实施例中资源展现模板的一种示意图; 图6是本发明实施例中角色与资源访问权限映射关系的一种示意图 图7是本发明实施例中利用委托实现类解析子节点的示意图; 图8是本发明实施例在Web用户界面中生成资源访问入口的系统的结构 示意图。
具体实施例方式
为了使本技术领域的人员更好地理解本发明实施例的方案,下面结合附图 和实施方式对本发明实施例作进一步的详细说明。
动态构建Web用户界面中多类型资源访问入口 ,通过获取用户所属角色数据及 用户权限;根据所述用户所属角色数据及预先生成的资源展现模板、角色与资 源访问权限映射关系,构建所述用户对应的资源展现;漠型;根据用户权限对所 述资源展现模型进行过滤,生成对应所述用户的资源展现树;根据所述资源展 现树在Web用户界面生成层次化的资源访问入口 。从而实现对不同资源类型, 以及用户权限的支持,提高Web用户界面中生成的资源访问入口结构的通用性 和灵活性。
如图3所示,是本发明实施例在Web用户界面中生成资源访问入口的方 法的流程图
步骤301,获取用户所属角色数据及用户权限。
比如,在用户登陆Web用户界面时,可以得到所述用户的用户名,然后利用该用户名查找用户的注册信息,就可以得到用户所属角色数据(比如,可 判断当前用户是系统普通用户角色还是管理员角色)及用户权限。
当然,本发明实施例并不仅限于这种方式,还可以通过其他方式获取用户 所属角色及用户权限,比如,可通过集成的第三方用户管理系统提供的调用接 口获取用户所属角色及用户权限。
步骤302,根据所述用户所属角色数据及预先生成的资源展现模板、角色
与资源访问权限映射关系,构建所述用户对应的资源展现模型。
所述资源展现模板、角色与资源访问权限映射关系,可以通过预先配置, 将其存储到一个配置库中。
所述资源展现模板可以以文件方式存在,其内容为一个结构化的XML文 档,描述要展现的层次化的资源结构,资源中的每个节点包括名称、ID、类型、 URL ( Uniform Resource Locator,统一资源定位符)、委托代理实现类名称等 信息。资源展现才莫^1可通过简单的文本编辑工具或可一见化的配置工具生成。
为了可灵活设定用户访问不同类型资源,可以为资源展现模板的每个节点 设置一个资源类型属性,同时,为了保证在运行期间,可以根据用户的上下文 信息,即可动态获取的与当前用户有关的业务数据,动态地构建资源树中的节 点,还可以在所述资源类型属性中加入一个特殊的属性值,即动态资源节点, 以表示当系统解析此节点时,不能将此节点当作一个静态资源看待,而是需要 根据相关的上下文信息进行额外的处理,处理的具体过程,需要通过节点属性 所描述的委托实现类来实现。
所述角色与资源访问权限映射关系也可以以文件方式存在,其作用在于使 系统可以根据此映射关系,动态构建对应用户的资源展现树。比如,当判断当 前用户角色对某个资源没有读的权限时,则不会在资源展现树中加入此资源对 应的节点。
所述资源展现4莫型中的各节点具有以下属性资源类型,所述资源类型的 属性值包括动态资源节点、静态资源节点;还具有以下属性委托实现类, 所述委托实现类用于解析出所述节点的子节点。
在很多业务场景下,无法在设计期通过配置的方式构建用户可访问的资源 节点,比如上述动态资源节点。为此,本发明实施例利用委托实现类来实现。所述委托实现类是基于委托模式的一个具体类的实现。在委托模式中,接 受请求的对象将请求委托给另一个对象来处理。对于每一个委托实现类,由于 其对应的业务场景不同决定了其实现方式都不是完全一致。因此,对应不同的 应用,可以预先构建多个委托实现类,具体地,可以通过一定的编程接口动态
编程实现。步骤303,根据用户权限对所述资源展现模型进行过滤,生成对应 所述用户的资源展现树。
在进行过滤时,需要遍历所述资源展现模型中的每一个节点,而后判断所 述节点代表的资源类型,如果是静态类型的资源节点,则说明此节点表示的就 是一个可明确访问路径的资源,不需要通过程序动态解析,如果用户对此资源 有访问权限,则需要将此节点添加到对应该用户的资源展现权中,也就是需要 在Web用户界面展现出相应的资源访问入口;如果是动态类型的资源节点, 则说明此节点对应的资源需要在运行期间才能根据相应的上下文信息才能明 确,因此就需要从资源节点中解析出该节点的委托实现类信息,然后实例化该 委托实现类,由委托实现类根据用户权限及父节点等上下文信息,构建当前节 点所代表的子树结构,对于子树结构中的每个子节点,同样需要遍历,而后判 断所述子节点代表的资源类型,并根据资源类型进行相应的处理。
步骤304,根据所述资源展现树在Web用户界面生成层次化的资源访问入口 。
利用本发明实施例的方法,可以提高Web用户界面中生成的资源访问入 口结构的通用性和灵活性,既满足了传统实现方式下,构建静态资源树形结构 的需求,又可以解决传统实现方式无法解决的基于用户权限动态生成资源树形 结构的需求。
由于本发明在Web用户界面生成的层次化的资源访问入口是基于用户角 色的资源树机制的,因而可避免与用户无关资源的解析与加载时间,可提升用 户界面的使用体验。
本发明实施例的方法,不仅可以支持多种静态资源访问入口的展现,而且
参照图4,是本发明实施例的方法在具体应用时的一种典型实现流程 步骤401 ,获取用户所属角色数据及用户权限。步骤402,根据所述用户所属角色数据及预先生成的资源展现模板、角色
与资源访问权限映射关系,构建所述用户对应的资源展现模型。
步骤403,定位资源展现模型中的根节点。 步骤404,获取根节点中的子节点集合。
步骤405,判断子节点集合数量是否大于零;如果是,则执行步骤406; 否则,^执行步骤416。
步骤406,获取子节点集合中的第一个节点。
步骤407,判断所述节点所代表的资源类型;如果是静态资源节点,则执 行步骤408;如果是动态资源节点,则执行步骤411。
步骤408,判断用户对本节点的资源是否有访问权限;如果是,则执行步 执行步骤410。
在用户对应的资源展现树中加入本节点。
获取当前节点的子节点集合中的下一个节点。然后,执行步骤
骤409;否则 步骤409 步骤410
404。
步骤411 步骤412 步骤413
骤414;否则 步骤414 步骤415
骤405。
从资源展现模型中解析动态资源节点中的委托实现类信息。 实例化所述委托实现类,并传入用户权限数据和其父节点数据。 判断用户对本节点的资源是否有访问权限;如果是,则执行步 执行步骤410。
在用户对应的资源展现树中加入本节点。 由委托实现类获取当前节点对应的子节点集合。然后,执行步
是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可 读取存储介质中,所述的存储介质,如ROM/RAM、磁碟、光盘等。
下面举例进一步详细说明本发明在Web用户界面中生成资源访问入口的 方法。
假定预先生成的资源展现模板如图5所示
图中,Rl为整个资源树形模型的根节点,Rl.l、 R1.2、 R1.3是在所述资 源展现模板中已配置的节点。其中,Rl.l、 R1.2为静态资源节点,R1.3为动态资源节点,R1.3可能有子节点,需要在运行期间通过R1.3对应的委托实现 类Agentl.3动态解析。
角色与资源访问权限映射关系可采用图6所示模型描述
图中所体现的是一个三维的映射模型,这三个维度分别为用户角色、资 源及权限。而权限实际为用户角色与资源的映射体现,而权限假定包括"C (Create )、 R(Read)、 U(Update)、 D(Delete)"四个一又限。4叚定用户U3,对于 资源R1.3具备所有权限,则对应的权限映射Ur为(U3、 R1.3、 1111)
根据上述图4所示流程,当解析到资源节点R1.3时,判断此节点是动态 类型节点,则获取其子节点的功能交给其代理实现类处理,并同时传入用户权 限信息和父节点信息。假定获取到其子节点分別为R1.3.1、 R1.3.2、 R1.3.3, 可由图7进行描述。
可见,利用本发明实施例的方法,可以提高Web用户界面中生成的资源 访问入口结构的通用性和灵活性,既满足了传统实现方式下,构建静态资源树 形结构的需求,又可以解决传统实现方式无法解决的基于用户权限动态生成资 源树形结构的需求。
本发明实施例还提供了 一种在Web用户界面中生成资源访问入口的系统, 如图8所示,是该系统的结构示意图
该系统包括用户信息获取单元801、构建单元802、过滤单元803和展 现单元804。其中用户信息获取单元801,用于获取用户所属角色数据及用 户权限;构建单元802,用于根据所述用户所属角色数据及预先生成的资源展 现模板、角色与资源访问权限映射关系,构建所述用户对应的资源展现模型; 过滤单元803,用于根据用户权限对所述资源展现模型进行过滤,生成对应所 述用户的资源展现树;展现单元804,用于根据所述资源展现树在Web用户界 面生成层次化的资源访问入口 。
其中,所述资源展现模板、角色与资源访问权限映射关系可以预先配置在 构建单元802中,也可以存储在专用的配置库中,构建单元802在需要构建所 述用户对应的资源展现模型时,所述配置库中读取所述资源展现模板、角色与 资源访问权限映射关系。
所述资源展现模型中的各节点具有以下属性资源类型,所述资源类型的属性值包括动态资源节点、静态资源节点;还具有以下属性委托实现类, 所述委托实现类用于解析出所述节点的子节点。
优选地,过滤单元803包括节点提取子单元831、判断子单元832和添 加子单元833。其中节点提取子单元831,用于遍历所述资源展现模型的各 节点;判断子单元832,用于判断所述节点提取子单元遍历的节点;添加子单 元833,用于才艮据所述判断子单元的判断结果,如果本节点的资源类型的属性 值为静态资源节点,并且所述用户对本节点的资源类型有访问权限,则将本节 点加入到对应所述用户的资源展现树中;如果本节点的资源类型的属性值为动 态资源节点,并且所述用户对本节点的资源类型有访问权限,则将本节点加入 到对应所述用户的资源展现树中,并根据本节点的委托实现类获取本节点的子 节点集合。
当然,本发明实施例中所述过滤单元803并不限于这种结构,还可以有其 他结构方式,只要能够根据用户权限将所述资源展现模型中所述用户能够访问 的资源对应的节点过滤出来,生成对应所述用户的资源展现树即可。
优选地,用户信息获取单元801包括用户名获取子单元811和用户属性 获取子单元812。其中用户名获取子单元811,用于当用户登陆Web用户界 面时,获取所述用户的用户名;用户属性获取子单元812,用于根据所述用户 名查找用户的注册信息,得到用户所属角色数据及用户权限。
当然,本发明实施例中所述用户信息获取单元801并不限于这种结构,只 要能够在用户登陆Web用户界面后,可根据用户在登陆界面中的输入数据获 取当前的登陆用户名及对应的用户属性即可。
本发明实施例在Web用户界面中生成资源访问入口的系统,在用户登陆 Web用户界面时,由用户信息获取单元801获取用户所属角色数据及用户权 限,然后构建单元802根据所述用户所属角色数据及预先生成的资源展现模 板、角色与资源访问权限映射关系,构建所述用户对应的资源展现模型,过滤 单元803根据用户权限对所述资源展现模型进行过滤,生成对应所述用户的资 源展现树;然后由展现单元根据所述资源展现树在Web用户界面生成层次化 的资源访问入口。详细过程可参照前面本发明实施例在Web用户界面中生成 资源访问入口的访问中的描述,在此不再赘述。利用本发明实施例在Web用户界面中生成资源访问入口的系统,可以提
统实现方式下,构建静态资源树形结构的需求,又可以解决传统实现方式无法 解决的基于用户权限动态生成资源树形结构的需求。
由于本发明在Web用户界面生成的层次化的资源访问入口是基于用户角 色的资源树机制的,因而可避免与用户无关资源的解析与加载时间,提高了展 现速度,可提升用户界面的使用体验。
本发明实施例的系统,不仅可以向用户展现多种静态资源访问入口,而且
本发明实施例进行了详细介绍,本文中应用了具体实施方式
对本发明进行 了阐述,以上实施例的说明只是用于帮助理解本发明的方法及设备;同时,对 于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上 均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1、一种在Web用户界面中生成资源访问入口的方法,其特征在于,包括获取用户所属角色数据及用户权限;根据所述用户所属角色数据及预先生成的资源展现模板、角色与资源访问权限映射关系,构建所述用户对应的资源展现模型;根据用户权限对所述资源展现模型进行过滤,生成对应所述用户的资源展现树;根据所述资源展现树在Web用户界面生成层次化的资源访问入口。
2、 根据权利要求1所述的方法,其特征在于,所述资源展现模型中的各 节点具有以下属性资源类型,所述资源类型的属性值包括动态资源节点、 静态资源节点。
3、 根据权利要求2所述的方法,其特征在于,当所述节点的资源类型属 性的属性值为动态资源节点时,所述节点还具有以下属性委托实现类,所述 委托实现类用于解析出所述节点的子节点。
4、根据权利要求3所述的方法,其特征在于,所述根据用户权限对所述 资源展现模型进行过滤,生成对应所述用户的资源展现树包括 遍历所述资源展现模型的各节点;如果本节点的资源类型的属性值为静态资源节点,并且所述用户对本节点 的资源类型有访问权限,则将本节点加入到对应所述用户的资源展现树中; 如果本节点的资源类型的属性值为动态资源节点,并且所述用户对本节点的资源类型有访问权限,则将本节点加入到对应所述用户的资源展现树中,并 根据本节点的委托实现类获取本节点的子节点集合。
5、 根据权利要求1所述的方法,其特征在于,所述获取用户所属角色数 据及用户权限包括当用户登陆Web用户界面时,获取所述用户的用户名;根据所述用户名查找用户的注册信息,得到用户所属角色数据及用户权限。
6、 一种在Web用户界面中生成资源访问入口的系统,其特征在于,包括 用户信息获取单元,用于获取用户所属角色数据及用户权限; 构建单元,用于4艮据所述用户所属角色数据及预先生成的资源展现模板、角色与资源访问权限映射关系,构建所述用户对应的资源展现模型;过滤单元,用于根据用户权限对所述资源展现模型进行过滤,生成对应所 述用户的资源展现树;展现单元,用于根据所述资源展现树在Web用户界面生成层次化的资源 访问入口 。
7、 根据权利要求6所述的系统,其特征在于,所述资源展现模型中的各 节点具有以下属性资源类型,所述资源类型的属性值包括动态资源节点、 静态资源节点。
8、 根据权利要求7所述的系统,其特征在于,当所述节点的资源类型属 性的属性值为动态资源节点时,所述节点还具有以下属性委托实现类,所述 委托实现类用于解析出所述节点的子节点。
9、 根据权利要求8所述的系统,其特征在于,所述过滤单元包括 节点提取子单元,用于遍历所述资源展现模型的各节点;判断子单元,用于判断所述节点提取子单元遍历的节点; 添加子单元,用于4艮据所述判断子单元的判断结果,如果本节点的资源类 型的属性值为静态资源节点,并且所述用户对本节点的资源类型有访问权限, 则将本节点加入到对应所述用户的资源展现树中;如果本节点的资源类型的属 性值为动态资源节点,并且所述用户对本节点的资源类型有访问权限,则将本 节点加入到对应所述用户的资源展现树中,并根据本节点的委托实现类获取本 节点的子节点集合。
10、 根据权利要求11所述的系统,其特征在于,所述用户信息获取单元 包括用户名获取子单元,用于当用户登陆Web用户界面时,获取所述用户的 用户名;用户属性获取子单元,用于根据所述用户名查找用户的注册信息,得到用 户所属角色数据及用户权限。
全文摘要
本发明公开了一种在Web用户界面中生成资源访问入口的方法及系统,所述方法包括获取用户所属角色数据及用户权限;根据所述用户所属角色数据及预先生成的资源展现模板、角色与资源访问权限映射关系,构建所述用户对应的资源展现模型;根据用户权限对所述资源展现模型进行过滤,生成对应所述用户的资源展现树;根据所述资源展现树在Web用户界面生成层次化的资源访问入口。利用本发明,可以提高Web用户界面中资源访问入口展现结构的通用性及灵活性,方便用户的使用。
文档编号G06F9/44GK101436195SQ20081016838
公开日2009年5月20日 申请日期2008年10月30日 优先权日2008年10月30日
发明者霞 张, 柴永春, 伟 王, 勇 纪 申请人:东软集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1