梗概
- 使用
meta字段来指定需要鉴权。然后通过beforeEach[use::路由守卫]来检查用户的登录状态以及路由的鉴权要求
示例
以下是一个基本的路由鉴权实现示例:
- 首先,安装 Vue Router 库:
npm install vue-router- 在 Vue 应用中设置路由规则和导航守卫。假设我们有两个需要鉴权的路由:
/dashboard和/profile。
import Vue from 'vue';
import VueRouter from 'vue-router';
Vue.use(VueRouter);
const router = new VueRouter({
routes: [
{
path: '/',
redirect: '/dashboard',
},
{
path: '/dashboard',
component: Dashboard,
},
{
path: '/profile',
component: Profile,
meta: { requiresAuth: true },
},
],
});
// 添加导航守卫
router.beforeEach((to, from, next) => {
const isAuthenticated = true; // 假设这里有一个表示用户登录状态的变量
// 如果路由需要鉴权
if (to.meta.requiresAuth) {
// 如果用户已登录,继续导航
if (isAuthenticated) {
next();
} else {
// 用户未登录,重定向到登录页面
next('/');
}
} else {
// 路由不需要鉴权,直接导航
next();
}
});
export default router;