Vue3+Element-Plus 登录页面访问权限控制功能实现十七

本文详细介绍了如何在Vue项目中使用路由导航守卫(beforeEach)实现页面访问权限控制,包括登录状态判断、未登录时的跳转逻辑。通过实际代码示例和流程解析,展示了如何确保只有登录用户才能访问特定页面。
摘要由CSDN通过智能技术生成

1. 路由导航守卫控制页面访问权限

1.1 为什么需要路由导航守卫控制页面访问权限

㈠ 对于一些有权限的页面,只有在登录的情况下才允许访问。防止用户在未登录的状态下,直接通过页面URL进行访问。这种行为是不允许存在的。

㈡ 根据token来判断用户是否登录,如果用户未登录,访问有权限的URL时,强制跳转登录页面。

㈢ 如何实现强制跳转,就需要使用到路由导航守卫。

1.2 什么是路由导航守卫控制权限

beforeEach 就是路由导航守卫

㈡ 如何添加路由导航守卫

在路由组件中,为路由对象添加beforeEach 导航守卫函数。

beforeEach 接受一个回调函数,该函数中,包含3个形参。

  • to 代表将要访问的页面路径
  • from 代表从那个页面跳转过来
  • next 代表放行函数

next 放行函数有两种形式:

next() 表示直接放行

next('/login')  表示强制跳转到某个页面,如当前强制跳转到login页面

㈢ beforeEach 导航守卫函数理解

首先要进行判断,to 对应的地址是否是/login页面。如果to.path等于用户访问的/login,证明用户访问的是登录页。在这里,登录页面是没有设置权限的,谁都可以进行访问。

所以,to.path 判断用户直接访问的是登录页面/login,直接调用next()函数放行。

如果访问的不是登录页面,判断sessionStorage是否存在了一个token值。取出token值进行判断,是否存在token值。如果不存在token值,证明用户访问的是有权限的页面,使用next('/login') 函数强制跳转到登录页面。

㈣ 如上综合所述,根据用户访问的地址以及用户是否有token值来决定用户访问的页面。

1.3 如何实现路由导航守卫控制权限

㈠ 改造路由组件

import { createRouter, createWebHashHistory } from 'vue-router'
import Login from '../components/Login.vue'
import Home from '../components/Home.vue'
const routes = [
  {
    path: '/',
    redirect: '/login'
  },
  {
    path: '/login',
    component: Login
  },
  {
    path: '/home',
    component: Home
  }
]

const router = createRouter({
  history: createWebHashHistory(),
  routes
})

// 挂载路由导航守卫
router.beforeEach((to, from, next) => {
  if (to.path === '/login') return next()
  // 获取token
  const tokenStr = window.sessionStorage.getItem('token')
  if (!tokenStr) return next('/login')
  next()
})

export default router

㈡ 效果图,输入home 需要权限访问的页面时 

㈢ 回车后,直接变成这个页面

 以上出自于:【黑马程序员】前端开发之Vue项目实战_Element-UI【配套源码+笔记】_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1x64y1S7S7?p=1

学籍管理系统是一个用于管理学生的基本信息、课程信息和成绩信息的系统。基于Vue3、Element Plus、Spring Boot、MyBatis、JPA和MySQL的学籍管理系统具有以下特点和功能。 1. 前端界面使用Vue3和Element Plus框架,实现了美观、简洁的用户界面,提供了良好的用户体验。 2. 后端使用Spring Boot作为应用框架,简化了系统的搭建和开发。同时,基于MyBatis和JPA技术实现与数据库的交互,提供高性能和灵活性。 3. 数据库使用MySQL,存储学生的基本信息、课程信息和成绩信息,保证了数据的持久性和安全性。 4. 学籍管理系统提供了学生信息的录入、查询和修改功能。管理员可以通过界面录入学生的基本信息,包括姓名、学号、性别、年龄等。同时,还可以查询和修改学生的信息,确保信息的准确性。 5. 系统还提供了课程信息的管理功能。管理员可以录入课程的名称、学分、教师等信息,方便学生选课和教师进行课程管理。 6. 学籍管理系统还包括成绩管理功能。管理员可以录入学生的成绩,系统会自动计算学生的平均成绩和绩点,并提供成绩查询功能,方便学生和教师查看学生成绩。 7. 系统还提供了权限管理功能,确保只有授权用户可以进行相关操作,保证了数据的安全性。 综上所述,基于Vue3、Element Plus、Spring Boot、MyBatis、JPA和MySQL的学籍管理系统具有方便、快捷、安全、准确的特点,能够有效管理学生的基本信息、课程信息和成绩信息。在教育领域的学籍管理中具有重要的应用价值。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小丫头呀

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

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

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

打赏作者

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

抵扣说明:

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

余额充值