Vue后台管理系统权限控制

本文探讨了前端权限控制的重要性,特别是在Vue后台管理系统中。文章详细阐述了前端权限的概念,包括后端权限和前端权限的分类。接着,介绍了前端权限控制的四个核心方面:菜单控制、界面控制、按钮控制和请求响应控制,并提供了Vue.js实现这些控制的具体方法,如使用Vuex、路由导航守卫和自定义指令。最后,强调了前端权限实现需要后端数据支持,并提醒注意权限数据的存储和同步问题。
摘要由CSDN通过智能技术生成

在web系统中,权限很久以来一直都只是后端程序所控制的,为什么呢?

因为web系统的本质围绕的是数据,而和数据库最紧密接触的是后端程序,所以在很长的一段时间内,权限一直都只是后端程序需要考虑的话题。但是随着前后端分离架构的流行,越来越多的项目也在前端进行权限控制。

一、权限的相关概念

1.权限的分类

(1)后端权限

从根本上来讲,前端仅仅只是视图层的展示,权限的核心是在于服务器中的数据变化,所以后端才是权限的关键,后端权限可以控制某个用户是否能够查询数据、是否能够修改数据等操作。

  • 后端如何知道该请求是哪个用户发过来的

cookie

session

token

  • 后端的权限设计RBAC

用户

角色

权限

(2)前端权限

前端权限的控制,本质上来说就是控制前端的视图层的展示和前端所发送的请求,但是只有前端权限控制没有后端权限控制是万万不可的。前端权限控制只可以说是达到锦上添花的效果。

2.前端权限的意义

如果仅从能够修改服务器中数据库中的数据层面来讲,确实只在后端做控制就足够了,那为什么越来越多的项目也进行了前端权限的控制,主要有这几个方面的好处。

  • 降低非法操作的可能性

不怕贼偷就怕贼惦记,在页面中展示出一个就算点击了也最终会失败的按钮,势必会增加有心者非法操作的可能性。

  • 尽可能排除不必要请求,减轻服务器压力

没必要的请求,操作失败的请求,不具备权限的请求,应该压根就不需要发送,请求少了,自然也会减轻服务器的压力。

  • 提高用户体验

根据用户具备的权限,为该用户展现自己权限范围内的内容,避免在界面上给用户带来困扰,让用户专注于分内之事。

二、前端权限控制思路

1.菜单的控制

在登录请求中,会得到权限数据,当然,这个需要后端返回数据的支持。

前端根据权限数据,展示对应的菜单。

点击菜单,才能查看相关的界面。

2.界面的控制

如果用户没有登录,手动在地址栏敲入管理界面的地址,则需要跳转到登录界面。

如果用户已经登录,可是手动敲入非权限内的地址,则需要跳转到404界面。

3.按钮的控制

在某个菜单的界面中,还得根据权限数据,展示出可进行操作的按钮,比如删除、修改、增加。

4.请求和响应的控制

如果用户通过非常规操作,比如通过浏览器调试工具将某些禁用的按钮变成启用状态,此时发的请求,也应该被前端所拦截。

三、Vue的权限控制实现

1.菜单的控制

(1)查看登录之后获取到的数据

{
  "data": {
    "id": 500,
    "rid": 0,
    "username": "admin",
    "mobile": "13999999999",
    "email": "123999@qq.com",
    "token": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjUwMCwicmlkIjowLCJpYXQiOjE1MTI1NDQyOTksImV4cCI6MTUxMjYzMDY5OX0.eGrsrvwHm-tPsO9r_pxHIQ5i5L1kX9RX444uwnRGaIM"
  },
  "rights": [{
      "i
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端报刊

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值