[发明专利]一种基于Vue.js和Django的权限控制方法及系统在审
| 申请号: | 201910927457.X | 申请日: | 2019-09-27 |
| 公开(公告)号: | CN110825352A | 公开(公告)日: | 2020-02-21 |
| 发明(设计)人: | 李勇 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
| 主分类号: | G06F8/20 | 分类号: | G06F8/20 |
| 代理公司: | 济南舜源专利事务所有限公司 37205 | 代理人: | 刘雪萍 |
| 地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 vue js django 权限 控制 方法 系统 | ||
本发明提出的一种基于Vue.js和Django的权限控制方法及系统,实现了前端菜单权限和指令权限与后端接口权限的代号一一对应,前端页面菜单及按钮等涉及权限的元素根据后端权限代号动态生成,达到前端后端权限严格控制的效果。
技术领域
本发明涉及计算机应用技术领域,更具体的说是涉及一种基于Vue.js和Django的权限控制方法及系统。
背景技术
前后端分离的架构技术已经非常成熟,前端JS技术发展很快,出现了很多流行的MVVM框架,比如Angular、React、Vue,而Python作为后端语言,其开源社区有大量活跃用户,流行的web框架已经让人眼花缭乱,比如Django、Flask、Tornado、Bottle等等。当前,前端采用Vue框架,后端采用Django框架进行了自动化测试平台的开发。
目前,前后端分离的权限控制,通常有两种方案,一是通过制定好的角色来进行前端页面权限的控制,无法实现前端权限与后端接口权限的一一对应,使得扩展角色非常困难,不方便灵活地进行权限控制;二是通过后端返回前端的路由表,前端拿到后端返回的路由表数据,还需要遍历路由表生成前端正常使用的路由,重复进行生成前端路由的计算。
发明内容
针对以上问题,本发明的目的在于提供一种基于Vue.js和Django的权限控制方法及系统,能够达到前端后端权限严格控制的效果。
本发明为实现上述目的,通过以下技术方案实现:一种基于Vue.js和Django的权限控制方法,包括如下步骤:
S1:利用Django生成WEB后端接口权限表,并进行接口权限与前端权限的匹配;
S2:创建角色并选择权限项;
S3:创建当前角色下的用户;
S4:利用Django获取当前用户的所有前端权限代号;
S5:利用Vue.js,根据匹配的前端权限代号,控制前端菜单权限;
S6:利用Vue.js,根据匹配的前端权限代号,控制前端指令权限;
S7:利用Django,根据后端接口权限表,控制后端接口权限。
进一步,所述步骤S1中,利用Django生成WEB后端接口权限表具体包括:
在工程中添加Django的功能模块auth、contenttypes和rest_framework;
使用migrate命令生成数据库表,所述数据库表包括接口权限表auth_permission表、用于记录app_label和model的django_content_type表。
进一步,所述步骤S1中,进行接口权限与前端权限的匹配具体包括:
通过django_content_type表获取所有的app_label和model;
根据app_label和model匹配前端权限,筛选掉不需要通过前端控制的权限,通过permission_set关系字段获取auth_permission表中的权限代号;
获取的权限代号,包括与前端菜单项权限对应的菜单权限代号和与前端元素指令权限对应的指令权限代号。
进一步,所述步骤S2包括:
获取当前系统所有的前端菜单权限代号和指令权限代号;
根据获取的菜单权限代号和指令权限代号,生成前端的权限树;
创建新的角色,并为此角色选择权限树中的权限项;
将为此角色选择的权限项写入数据库。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910927457.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种地形订正降水面雨量的方法
- 下一篇:一种耐磨防水纱管纸及其制备方法





