一种基于VUE的ERP动态权限控制方法技术

技术编号:27059737 阅读:13 留言:0更新日期:2021-01-15 14:39
本发明专利技术涉及动态权限技术领域,具体公开了一种基于VUE的ERP动态权限控制方法,该动态权限控制方法包括以下步骤:步骤1:在permissions.js文件中利用Router.beforeEach方法中的属性参数进行路由拦截设置;步骤2:利用API接口中的getMenulist方法获取存储在数据库中的路由数据;步骤3:利用filterAsyncRoutes和hasPermission函数对路由表进行权限过滤。本发明专利技术科学合理,使用安全方便,利用Router.beforeEach拦截每一次的路由跳转避免非法操作,利用filterAsyncRoutes方法将路由表中的数据进行处理并判断用户权限是否匹配,所述生成的动态权限信息由前端完成,使用上述方法可以减少服务器的开销,提高用户体验。

【技术实现步骤摘要】
一种基于VUE的ERP动态权限控制方法
本专利技术涉及动态权限
,具体为一种基于VUE的ERP动态权限控制方法。
技术介绍
随着互联网技术的发展,各类不同的用户可访问的信息资源的结构也趋于复杂化,信息规模也逐渐增大,任何非法用户进入或者越权操作造成的系统内容都遭受到了破坏,给整个信息系统带来了十分严重的后果,确保信息的安全性成为了十分突出的问题;动态权限在软件中越来越流行,简言之就是不同的用户拥有不同的功能界面、不同的业务权限,从开发的角度上来进行描述就是不同的用户拥有不同的角色,而不同的角色就绑定了不同的功能模块,拥有不同的操作权限。对于软件系统用户的操作权限控制方法有如下几种:1.利用数据库系统的角色进行访问权限,不同的用户通过不同的角色访问数据库资源,但是该方案权限控制对象仅针对数据,数据库服务器负担沉重;2.通过web服务器或应用程序服务器提供的集成安全机制实现权限管理,其开发工作量小,但仅适用于群体较为稳定的场所;3.使用专用的权限认证服务器权限管理模式,能够将多种用户进行集中管理、需要统一安排,但是很难精细到具体应用的某个功能;从该角度出发可以考虑建立一套多用户、多角色、多权限的灵活绑定程序。传统的动态路由依赖服务器端进行生成,当用户登录时,服务器端要获取到用户的角色并根据用户的角色去数据库进行查询对应的用户权限信息,最后在生成用户的权限返回到前端页面,这其中的流程增加了耗时,并随着用户的逐渐增多,高频发的过程中在性能损耗方面进一步加大;伴随着VUE框架技术的成熟,业界主流通常使用VUE进行前端权限生成,但是大部分的软件,还是要后端生成权限信息,并不能做到完全前端生成动态路由,所以,人们需要一种基于VUE的ERP动态权限控制方法。
技术实现思路
本专利技术的目的在于提供一种基于VUE的ERP动态权限控制方法,以解决上述
技术介绍
中提出的问题。为了解决上述技术问题,本专利技术提供如下技术方案:一种基于VUE的ERP动态权限控制方法,所述该方法包括以下步骤:S1:在permission.js文件中判断用户当前登陆的路由对象、用户是否需要路径跳转以及是否对用户进行路由拦截;S2:利用API接口中的getMenulist方法来获取存储在数据库中的路由数据,利用VUEX获取并判断存储的角色数组长度,在用户获取角色后,对返回路由菜单数据进行调用convertTree并递归处理;S3:使用filterAsyncRoutes函数对路由表中的每一个路由通过haspermission函数进行循环判断,haspermission函数通过metal.role判断与当前的用户权限是否匹配并对权限进行过滤。优选的,在所述步骤S1中,使用Router.beforeEach方法的to、from和next参数对用户路由跳转进行判断,具体包括:To是用户将要去往的路由且对路径进行拦截,from是当前导航正要离开的路由对象,next是路由进行跳转;根据用户的跳转的路由以及用户属性,判断用户是否能够进行跳转,根据路由表,判断用户跳转路径是否成功,当用户跳转的路由是登陆页时,若用户一级登陆,则直接跳转到系统首页,否则进入登陆页,若用户跳转的不是登陆页,则会根据路由表中的信息判断是否有跳转的路径和用户角色,若有,生成系统界面,跳转成功,否则信息生成菜单,跳转不成功。在所述步骤S2中,通过确认角色数组的长度是否大于0来判定用户是否拥有角色,当识别出存储的角色数组长度大于0时,即表明用户易获得角色,否则用户没有获得角色。在所述步骤S3中,使用haspermission函数对metal.role判断用户权限是否匹配,具体包括:权限匹配成功,包括使用haspermisssion函数对路由中的权限数组和用户的角色进行对应匹配以及对每一个路由中的子路由进行判定匹配。返回的数据包含若干路由对象且路由对象包括若干属性参数,所述若干属性参数可表示为title、role、path、icon等,获取路由数据时仅需在前端调取,当返回的数据调用为空时,即对该路由进行拦截,用户需重新登陆,重复步骤S1-S3。在所述步骤S2中,当所述路由菜单数据发生变化后,将路由菜单数据中的属性参数进行更新并重新调用,数据的反馈能够更新使得动态权限信息能够及时生成,能够决定用户的权限匹配是否能够成功。所述计算机处理器对用户登陆的信息进行采集执行时,实现权利要求1至6项中任一项权利要求所述方法的步骤。所述步骤S1至步骤S3中的动态信息皆在前端进行生成,能够减小服务器的开销,从而提高用户体验。与现有技术相比,本专利技术所达到的有益效果是:利用Router.beforeEach拦截每一次的路由跳转避免非法操作,使得用户登陆能够合法跳转至某网页,利用filterAsyncRoutes方法递归过滤异步路由表,返回符合用户角色权限的路由表,利用hasPermission方法通过metal.role判断是否与当前用户权限匹配、convertTree方法对原始的权限数据进行收处理生成路由树,通过上述方法的结合使用能够更加明确的了解到用户的权限是否匹配,判断用户是否拥有权限,通过convertTree递归函数能够针对根节点到每一个节点的匹配程度进行仔细判断,能够使得对于权限的匹配更有权威性,在本专利技术中,服务器端只用存储权限信息即可,动态权限信息的生成完全由前端生成,极大的减少了服务器端的开销,提高了用户体验。附图说明附图用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与本专利技术的实施例一起用于解释本专利技术,并不构成对本专利技术的限制。在附图中:图1是本专利技术的一种基于VUE的ERP动态权限控制方法的流程示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参阅图1,本专利技术提供技术方案:一种基于VUE的ERP动态权限控制方法,所述该方法包括以下步骤:S1:在permission.js文件中判断用户当前登陆的路由对象、用户是否需要路径跳转以及是否对用户进行路由拦截;S2:利用API接口中的getMenulist方法来获取存储在数据库中的路由数据,利用VUEX获取并判断存储的角色数组长度,在用户获取角色后,对返回路由菜单数据进行调用convertTree并递归处理;S3:使用filterAsyncRoutes函数对路由表中的每一个路由通过haspermission函数进行循环判断,haspermission函数通过metal.role判断与当前的用户权限是否匹配并对权限进行过滤;所述数组,是有序的元素序列,角色数组为用户名的有效身份,即数组名,通过计算角本文档来自技高网
...

【技术保护点】
1.一种基于VUE的ERP动态权限控制方法,其特征在于:所述该方法包括以下步骤:/nS1:在permission.js文件中判断用户当前登陆的路由对象、用户是否需要路径跳转以及是否对用户进行路由拦截;/nS2:利用API接口中的getMenulist方法来获取存储在数据库中的路由数据,利用VUEX获取并判断存储的角色数组长度,在用户获取角色后,对返回路由菜单数据进行调用convertTree函数并递归处理;/nS3:使用filterAsyncRoutes函数对路由表中的每一个路由通过haspermission函数进行循环判断,haspermission函数通过metal.role判断与当前的用户权限是否匹配并对权限进行过滤。/n

【技术特征摘要】
1.一种基于VUE的ERP动态权限控制方法,其特征在于:所述该方法包括以下步骤:
S1:在permission.js文件中判断用户当前登陆的路由对象、用户是否需要路径跳转以及是否对用户进行路由拦截;
S2:利用API接口中的getMenulist方法来获取存储在数据库中的路由数据,利用VUEX获取并判断存储的角色数组长度,在用户获取角色后,对返回路由菜单数据进行调用convertTree函数并递归处理;
S3:使用filterAsyncRoutes函数对路由表中的每一个路由通过haspermission函数进行循环判断,haspermission函数通过metal.role判断与当前的用户权限是否匹配并对权限进行过滤。


2.根据权利要求1所述的一种基于VUE的ERP动态权限控制方法,其特征在于:在所述步骤S1中,使用Router.beforeEach方法的to、from和next参数对用户路由跳转进行判断,具体包括:
To是用户将要去往的路由且对路径进行拦截,from是当前导航正要离开的路由对象,next是路由进行跳转;
根据用户的跳转的路由以及用户属性,判断用户是否能够进行跳转,根据路由表,判断用户跳转路径是否成功。


3.根据权利要求1所述的一种基于VUE的ERP动态权限控制方法,其特征在于:在所述步骤S2中,通过确...

【专利技术属性】
技术研发人员:尚德华胡博文
申请(专利权)人:傲普上海新能源有限公司
类型:发明
国别省市:上海;31

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

1