欢迎光临散文网 会员登陆 & 注册

千锋教育前端Vue3.0全套视频教程(Kerwin2023版,Vue.js零基础

2023-07-17 16:53 作者:麋鹿饮水  | 我要投稿

第86集笔记 (课堂笔记及相关权限验证的方法)

路由守卫

beforeRouterEnter 验证前调用

beforeRouteUpdate 被复用时调用

beforeRouteLeave 离开路由时调用

从路由守卫中可以拓展出利用路由守卫实现登录权限验证等。

由此可以拓展出其他的权限验证方法,包括菜单权限,按钮权限

如:

1.在路由配置中添加meta字段,用于存储路由的访问权限等信息。

const routes = [

{path: '/user',

component: User,

meta: {

requiredAuth: true

} } ]

2.在全局路由守卫中检查用户的访问权限。

全局路由守卫里,每次路由跳转都要做判断

优点:

  • 权限验证逻辑集中在守卫中,便于维护
  • 可以按需为不同路由设置不同的访问权限

这种方式的缺点:

菜单需要与路由做一一对应,前端添加了新功能,需要通过菜单管理功能添加新的菜单,如果菜单配置的不对会导致应用不能正常使用

3.在菜单组件中根据用户的访问权限来生成菜单。(自定义方法和v-if指令)

4.权限校验mixin

例子:const permissionMixin = {

 mounted() {

  if (!hasPermission(this.permission)) {

   this.$el.parentNode.removeChild(this.$el)

  } 

 }

}

封装一个mixin,在mounted钩子中进行权限校验,如果没有权限则移除DOM元素:

5.后端控制

在后端接口中已经进行过权限控制,前端组件直接根据后端返回的信息进行展示。

其实最简单的验证就是利用v-if指令

<button v-if="hasPermission('delete')">删除</button>

这样即可。

设置权限的目的:确保我们所开发的程序的安全性和稳定性

千锋教育前端Vue3.0全套视频教程(Kerwin2023版,Vue.js零基础的评论 (共 条)

分享到微博请遵守国家法律