处理前端页面的权限控制方法及装置制造方法及图纸

技术编号:21115305 阅读:25 留言:0更新日期:2019-05-16 08:52
本发明专利技术公开了一种处理前端页面的权限控制方法及装置,其中,方法包括:对原始HTML文档进行解析,并根据预设控制逻辑进行自定义标签的解析,以对原始HTML页面进行页面渲染,并判断是否需要调用JavaScript逻辑代码;如果需要调用JavaScript逻辑代码,则拦截JavaScript逻辑代码的调用方法;根据调用方法对注解进行解析,以根据解析注释判断当前用户是否拥有控制权限,并在拥有控制权限时,允许调用。该方法根据权限与角色的关键字就可轻松实现页面元素和逻辑代码的权限控制,页面元素权限控制还能满足直观性的要求,并实现前端权限控制代码零编写的目标,有效提高控制的直观性、通用性和兼容性,简单易实现。

【技术实现步骤摘要】
处理前端页面的权限控制方法及装置
本专利技术涉及权限控制
,特别涉及一种处理前端页面的权限控制方法及装置。
技术介绍
相关技术,页面权限控制的技术分为两类,具体包括:(1)基于后端渲染页面技术,比如类似JSP技术,其页面元素的权限控制可以通过JSTL自定义标签进行控制。但是,基于JavaScript的业务逻辑的权限控制就需要通过编写判断性的逻辑代码来实现,从而导致权限控制的维护性较差,而且容易出现页面元素和业务逻辑权限控制不一致的问题。(2)纯前端页面逻辑的控制,这种权限控制是通过AJAX技术,每次请求时将限控制数据获取后,通过代码进行业务逻辑的权限控制,并同时对页面元素进行控制,此种实现方案虽然确保了权限控制逻辑的一致性,但通过代码对页面元素进行控制,导致了大量的重复代码的不可维护性。综上,相关技术的两类的页面的权限控制技术,主要存在以下缺点:1、权限控制逻辑的重复,容易导致逻辑的不一致,同时也不利于后期维护;2、页面元素控制靠代码进行逻辑判断,不够清晰直观,且因代码量大量导致不易于维护的问题。
技术实现思路
本申请是基于专利技术人对以下问题的认识和发现做出的:通常权限控制一般在服务端进行控制,权限控制常用的方案就是RBAC基于角色的访问控制,其基本思路就是,对涉及的各种权限不是直接授予具体的用户,而是在用户集合与权限集合之间建立一个角色集合。每一种角色对应一组相应的权限。用户被分配了适当的角色后,该用户就拥有此角色的所有操作权限。这样做的好处是,不必在每次创建用户时都进行分配权限的操作,只要分配用户相应的角色即可,而且角色的权限变更比用户的权限变更要少得多,这样将简化用户的权限管理,减少系统的开销。随着软件业的不断发展,B/S架构的系统逐渐趋向于服务客户端,对于前端的交互体验要求也越来越高,采用前后端分离的技术实现成为一种趋势,因此,为实现前端更好的交互体验,前端的权限控制就非常有必要,而前端又没有成熟的权限控制方案,使用的基于JavaScript编码方式解决前端业务逻辑和视图的统一权限控制,需要大量重复性的代码来实现,导致了系统越来越难易维护,长期将造成软件系统的维护成本不断的增长。在前后端分离的大背景下,替代方案就是通过编写自己的JavaScript代码对HTML中的元素进行控制,同时在JavaScript代码中,通过大量重复的业务逻辑代码来判断,导致了重复代码的不可维护性,尤其在当下比较重视前端应用的情况下,前端业务本来就是越来越复杂,如果权限控制不能很好的解决,一方面会影响交互,影响应用的效果,如果通过硬编码的方式来解决,就势必导致代码的不可维护性,造成前端维护的工作量越来越大,不利于以前端为主的产品发展。本专利技术旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本专利技术的一个目的在于提出一种处理前端页面的权限控制方法,该方法有效提高控制的直观性、通用性和兼容性,简单易实现。本专利技术的另一个目的在于提出一种处理前端页面的权限控制装置。为达到上述目的,本专利技术一方面实施例提出了一种处理前端页面的权限控制方法,包括以下步骤:对原始HTML文档进行解析,并根据预设控制逻辑进行自定义标签的解析,以对原始HTML页面进行页面渲染,并判断是否需要调用JavaScript逻辑代码;如果需要调用所述JavaScript逻辑代码,则拦截所述JavaScript逻辑代码的调用方法;根据所述调用方法对注解进行解析,以根据解析注释判断当前用户是否拥有控制权限,并在拥有所述控制权限时,允许调用。本专利技术实施例的处理前端页面的权限控制方法,根据权限与角色的关键字就可轻松实现页面元素和逻辑代码的权限控制,而且页面元素权限控制还能满足直观性的要求,并实现前端权限控制代码零编写的目标,从而有效提高控制的直观性、通用性和兼容性,简单易实现。另外,根据本专利技术上述实施例的处理前端页面的权限控制方法还可以具有以下附加的技术特征:进一步地,在本专利技术的一个实施例中,在对所述原始HTML页面进行页面渲染之前,还包括:检测是否同步最新的权限数据;如果未同步所述最新的权限数据,则在读取所述最新的权限数据后,解析并存储至缓存装置。进一步地,在本专利技术的一个实施例中,还包括:在非页面初始化,且需要调用所述JavaScript逻辑代码时,拦截所述JavaScript逻辑代码的调用方法。进一步地,在本专利技术的一个实施例中,在对所述原始HTML页面进行页面渲染之前,还包括:检测访问页面是否需要所述控制权限;如果不需要所述控制权限,则显示渲染页面;如果需要所述控制权限,且所述当前用户登录,则对原始HTML文档进行解析,否则跳转至登录界面。进一步地,在本专利技术的一个实施例中,在对所述原始HTML页面进行页面渲染之前,还包括:判断是否同步最新权限数据;如果同步所述最新权限数据,则对原始HTML文档进行解析,否则读取所述新权限数据。为达到上述目的,本专利技术另一方面实施例提出了一种处理前端页面的权限控制装置,包括:解析模块,用于对原始HTML文档进行解析,并根据预设控制逻辑进行自定义标签的解析,以对原始HTML页面进行页面渲染,并判断是否需要调用JavaScript逻辑代码;第一拦截模块,用于在需要调用所述JavaScript逻辑代码时,拦截所述JavaScript逻辑代码的调用方法;控制模块,用于根据所述调用方法对注解进行解析,以根据解析注释判断当前用户是否拥有控制权限,并在拥有所述控制权限时,允许调用。本专利技术实施例的处理前端页面的权限控制装置,根据权限与角色的关键字就可轻松实现页面元素和逻辑代码的权限控制,而且页面元素权限控制还能满足直观性的要求,并实现前端权限控制代码零编写的目标,从而有效提高控制的直观性、通用性和兼容性,简单易实现。另外,根据本专利技术上述实施例的处理前端页面的权限控制装置还可以具有以下附加的技术特征:进一步地,在本专利技术的一个实施例中,还包括:检测模块,用于检测是否同步最新的权限数据,并在未同步所述最新的权限数据,且在读取所述最新的权限数据后,解析并存储至缓存装置。进一步地,在本专利技术的一个实施例中,还包括:第二拦截模块,用于在非页面初始化,且需要调用所述JavaScript逻辑代码时,拦截所述JavaScript逻辑代码的调用方法。进一步地,在本专利技术的一个实施例中,还包括:第二检测模块,用于检测访问页面是否需要所述控制权限,在不需要所述控制权限时,则显示渲染页面,并在需要所述控制权限,且所述当前用户登录,则对原始HTML文档进行解析,否则跳转至登录界面。进一步地,在本专利技术的一个实施例中,还包括:判断模块,用于判断是否同步最新权限数据,在同步所述最新权限数据时,对原始HTML文档进行解析,否则读取所述新权限数据。本专利技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。附图说明本专利技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1为根据本专利技术一个实施例的处理前端页面的权限控制方法的流程图;图2为根据本专利技术一个具体实施例的处理前端页面的权限控制方法的流程图;图3为根据本专利技术一个实施例的处理前端页面的权限控制装置的结构示意图。具体实施方式下面详细描述本专利技术的实施例本文档来自技高网...

【技术保护点】
1.一种处理前端页面的权限控制方法,其特征在于,包括以下步骤:对原始HTML文档进行解析,并根据预设控制逻辑进行自定义标签的解析,以对原始HTML页面进行页面渲染,并判断是否需要调用JavaScript逻辑代码;如果需要调用所述JavaScript逻辑代码,则拦截所述JavaScript逻辑代码的调用方法;以及根据所述调用方法对注解进行解析,以根据解析注释判断当前用户是否拥有控制权限,并在拥有所述控制权限时,允许调用。

【技术特征摘要】
1.一种处理前端页面的权限控制方法,其特征在于,包括以下步骤:对原始HTML文档进行解析,并根据预设控制逻辑进行自定义标签的解析,以对原始HTML页面进行页面渲染,并判断是否需要调用JavaScript逻辑代码;如果需要调用所述JavaScript逻辑代码,则拦截所述JavaScript逻辑代码的调用方法;以及根据所述调用方法对注解进行解析,以根据解析注释判断当前用户是否拥有控制权限,并在拥有所述控制权限时,允许调用。2.根据权利要求1所述的处理前端页面的权限控制方法,其特征在于,在对所述原始HTML页面进行页面渲染之前,还包括:检测是否同步最新的权限数据;如果未同步所述最新的权限数据,则在读取所述最新的权限数据后,解析并存储至缓存装置。3.根据权利要求1所述的处理前端页面的权限控制方法,其特征在于,还包括:在非页面初始化,且需要调用所述JavaScript逻辑代码时,拦截所述JavaScript逻辑代码的调用方法。4.根据权利要求1所述的处理前端页面的权限控制方法,其特征在于,在对所述原始HTML页面进行页面渲染之前,还包括:检测访问页面是否需要所述控制权限;如果不需要所述控制权限,则显示渲染页面;如果需要所述控制权限,且所述当前用户登录,则对原始HTML文档进行解析,否则跳转至登录界面。5.根据权利要求1或4所述的处理前端页面的权限控制方法,其特征在于,在对所述原始HTML页面进行页面渲染之前,还包括:判断是否同步最新权限数据;如果同步所述最新权限数据,则对原始HTML文档进行解析,否则读取所...

【专利技术属性】
技术研发人员:陈建国袁宏永张志彪陈涛苏国锋陈涛孙占辉黄全义杨秀中
申请(专利权)人:北京辰安科技股份有限公司清华大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1