返回顶部
首页 > 资讯 > 精选 >vue-router如何实现权限控制
  • 730
分享到

vue-router如何实现权限控制

2023-07-04 15:07:38 730人浏览 薄情痞子
摘要

这篇文章主要讲解了“Vue-router如何实现权限控制”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue-router如何实现权限控制”吧!在vue-router控制前端权限是常见需求:

这篇文章主要讲解了“Vue-router如何实现权限控制”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue-router如何实现权限控制”吧!

在vue-router控制前端权限是常见需求:

  1. 有一种做法是直接在后端完成判断,提供页面列表和操作列表,在前端进行渲染,但这个方案并不优雅,前后端耦合度比较高。

  2. 比较常见的做法是把登录页面独立在router之外,专门写一个权限控制文件,在登录之后根据用户权限加载router,之后把权限作为参数传入各种组件中,以控制元素的渲染。这个方法比较合理,没有什么额外的开销,只是需要独立写一个登录页面和权限控制文件比较麻烦一些,特别是对一些小项目而言。

我们希望还有更简单的方式。这个时候梳理一下需求,我们的主要目标是:

  1. 菜单栏控制,根据权限渲染可以进入的页面菜单;

  2. 操作按钮权限控制,没有操作权限的不予显示;

  3. 如果有人通过直接点击链接或输入地址进入没有权限的页面,则进行拦截;

第一、第二个目标是容易实现的,把权限列表传入对应组件,通过v-if判断即可,需要解决的是越权页面的拦截问题。在上面常见的做法中,为了实现拦截,单独写了一个登录页面,登录之后再根据权限加载路由,这样,没有权限的路由根本不会加载,于是被导向404页面。

那么,现在的问题是,怎么样会有更简单的方式?

显然,如果我们不想单独写login页面,那么router在登录前就完成加载了。如果无法通过router自动将越权页面导向404页面,我们能做的,只能手动引导了。思路清楚了,实现起来就毫无压力:

根据vue组件的生命周期,我们可以在mounted钩子上进行权限判断,如果通过props传入的用户权限列表没有对应权限,就跳转页面到404:

mounted () {     if (!this.check_user_privilege (current_page)) {       this.$Message.error('权限不足');       this.$router.push('404');     } }

当然,事实上vue-router也提供了页面跳转时的钩子方法,全局的有beforeEach、afterEach等,我们希望直接在组件内使用,则可以使用beforeRouteEnter方法,在进入页面时进行判断,比如:

beforeRouteEnter (to, from, next) {     next(vm => {       if (!vm.check_user_privilege (current_page)) {         vm.$Message.error('权限不足');         vm.$router.push('404');       }     })   },

当然,就这个例子来说,用vue-router提供的钩子还不如直接在mounted写判断条件,因为beforeRouteEnter方法中的next需要调用组件参数,是在mounted执行之后才执行的,而我们又经常需要在mounted钩子加载页面数据,为了避免浪费,先进行判断是比较好的。

和常用方法相比,简单方法是有额外开销的,主要在于需要完全加载路由,同时在加载页面后进行了一次判断。不过从写代码的角度来说,似乎逻辑上更节约,因为不用另外写一个集中进行权限控制的文件了,至于每个页面的权限判断,那是本来在菜单栏就要做的事情,延伸到不同页面也不算什么负担。

为什么要使用Vue

Vue是一款友好的、多用途且高性能的javascript框架,使用vue可以创建可维护性和可测试性更强的代码库,Vue允许可以将一个网页分割成可复用的组件,每个组件都包含属于自己的htmlCSS、JavaScript,以用来渲染网页中相应的地方,所以越来越多的前端开发者使用vue。

感谢各位的阅读,以上就是“vue-router如何实现权限控制”的内容了,经过本文的学习后,相信大家对vue-router如何实现权限控制这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: vue-router如何实现权限控制

本文链接: https://lsjlt.com/news/346015.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • vue-router如何实现权限控制
    这篇文章主要讲解了“vue-router如何实现权限控制”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue-router如何实现权限控制”吧!在vue-router控制前端权限是常见需求:...
    99+
    2023-07-04
  • 如何使用vue-router实现动态权限控制
    本篇内容介绍了“如何使用vue-router实现动态权限控制”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!使用vue开发带权限管理系统,尤其...
    99+
    2023-07-04
  • vue-router如何实现路由懒加载和权限控制
    本篇内容主要讲解“vue-router如何实现路由懒加载和权限控制”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue-router如何实现路由懒加载和权限控制”吧!1、为什么要使用路由懒加载呢...
    99+
    2023-07-04
  • vue如何实现路由权限控制
    这篇“vue如何实现路由权限控制”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue如何实现路由权限控制”文章吧。在Vue中...
    99+
    2023-07-06
  • React-Router(V6)的权限控制实现示例
    目录接口权限页面权限1. 菜单权限2. 路由权限按钮权限参考在一个后台管理系统中,安全是很重要的。不光后端需要做权限校验,前端也需要做权限控制。 我们可以大致将权限分为3种: 接口权...
    99+
    2023-05-19
    React-Router权限控制 React-Router权限
  • 使用vue-router实现动态权限控制的示例分析
    这篇文章将为大家详细讲解有关使用vue-router实现动态权限控制的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。使用vue开发带权限管理系统,尤其是采用了vu...
    99+
    2024-04-02
  • vue-router中怎么实现路由懒加载和权限控制
    今天就跟大家聊聊有关vue-router中怎么实现路由懒加载和权限控制,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、为什么要使用路由懒加载呢用v...
    99+
    2024-04-02
  • vue按钮怎么实现权限控制
    这篇文章主要讲解了“vue按钮怎么实现权限控制”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue按钮怎么实现权限控制”吧!一、步骤1.定义buttom权限在state中创建buttomPe...
    99+
    2023-06-22
  • Oracle如何实现用户权限控制
    这篇文章主要为大家展示了“Oracle如何实现用户权限控制”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Oracle如何实现用户权限控制”这篇文章吧。1、用户O...
    99+
    2024-04-02
  • CentOS下如何实现ACL权限控制
    这篇文章主要介绍“CentOS下如何实现ACL权限控制”,在日常操作中,相信很多人在CentOS下如何实现ACL权限控制问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CentOS下如何实现ACL权限控制”的疑...
    99+
    2023-06-10
  • 如何在PHP中实现权限控制
    随着互联网的不断发展,越来越多的网站和应用程序依赖于PHP语言进行开发。然而,如何在PHP中实现权限控制仍然是一个重要的挑战。在本文中,我们将介绍一些常用的方法和技巧,以帮助您在PHP中实现有效的权限控制。定义用户角色和权限在开始编写代码之...
    99+
    2023-05-20
    PHP 实现 权限控制
  • Vue权限指令控制权限详解
    目录第一种-自定义权限指令第二种:v-if自定义控制最后说明在日常的开发过程中,我们除了使用Vue已有的指令之外,还需自定义指令,需要对DOM节点进一步操作。 在后台系统中,最常用的...
    99+
    2024-04-02
  • Openresty如何实现的网关权限控制
    小编给大家分享一下Openresty如何实现的网关权限控制,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!技术栈本小节采用了以下的技术栈:Openresty(lua...
    99+
    2023-06-19
  • Vue实现两种路由权限控制方式
    目录方式一:路由元信息(meta)方式二:动态生成路由表(addRoutes)路由权限控制常用于后台管理系统中,对不同业务人员能够访问的页面进行一个权限的限制。 对于无权限的页面可...
    99+
    2024-04-02
  • 基于vue,vue-router, vuex及addRoutes进行权限控制的示例分析
    这篇文章将为大家详细讲解有关基于vue,vue-router, vuex及addRoutes进行权限控制的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。基于vue...
    99+
    2024-04-02
  • 在Angular项目中如何实现权限控制
    这篇文章主要介绍“在Angular项目中如何实现权限控制”,在日常操作中,相信很多人在在Angular项目中如何实现权限控制问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”在A...
    99+
    2024-04-02
  • vue实现菜单权限控制的示例代码
    大家在做后台管理系统时一般都会涉及到菜单的权限控制问题。当然解决问题的方法无非两种——前端控制和后端控制。我们公司这边的产品迭代速度较快,所以我们是从前端控制路由迭代到后端控制路由。...
    99+
    2024-04-02
  • 基于Vue自定义指令如何实现按钮级权限控制
    这篇文章将为大家详细讲解有关基于Vue自定义指令如何实现按钮级权限控制,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。思路:登录:当用户填写完账号和密码后向服务端验证是否正...
    99+
    2024-04-02
  • vue按钮权限控制介绍
    目录一、步骤 1.定义buttom权限 2.定义store 3.创建permission指令 4.使用permission指令 5.删除无权限数据 6.传入状态管理数据 二、概况 前...
    99+
    2024-04-02
  • SpringCloud如何实现微服务数据权限控制
    这篇文章将为大家详细讲解有关SpringCloud如何实现微服务数据权限控制,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。举个例子:有一批业务员跟进全国的销售订单。他们被按城市进行划分,一个业务员跟进3个...
    99+
    2023-06-21
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作