路由配置页面:
1.重定向的是首页,'/home'
2.路由跳转前,先取出cookie里的token和type(路由守卫)
3.配置哪些路由需要登录权限,注册,登录,忘记密码等不需要权限直接next()
4.需要登录权限的页面判断是否存在token,存在执行next(),不存在则路由跳转到next('/login');
route页面:
const routes = [
//路由重定向的页面设置为首页
{ path: '/', redirect: '/home' },
{
path: '/home',
component: Home,
children: [
{
path: '/home',
component: HomePage,
meta: {
requireAuth: true,
title: '首页',
},
},
],
meta: {
//指定哪些页面需要登录权限
requireAuth: true,
},
},
]
路由守卫配置:
router.beforeEach((to, from, next) => {
// 自己定义的获取cookie的方法 getCookie()
// 获取token和用户类型
let token = getCookie('token')
let type = getCookie('type')
// 判断是否需要登录权限
if (to.meta.requireAuth) {
if (token) {
next();
} else {
next('/login');
}
} else {
next();
}
});
登录状态持久化: 在cookie里注入持久化的token,重定向到首页,在路由跳转前判断token状态,实现持久化
怎么防止伪造token和admin进入系统:
在hone页面获取用户信息的时候判断接口状态,接口错误直接清除token,并且跳转到login页