户想要访问需要权限的界面,例如后台界面时候,应该首先要判断用户是否拥有权限,有则进入,无则跳转。
比如,有人要访问我的后台界面,这些对外是不开放的,如果是管理员访问则,没登录之前直接跳转到管理员登录界面。
访问后台界面
没有权限,跳转登录
具体实现是:在路由 router.ts 文件里,给需要权限的添加一个标识,表示需要权限:
// router.ts
{
path: "userManage", name: "userManage",
component: () => import('@/components/xxx.vue'),
meta: { requireAuth: true }, // look here
children: [……]
}
然后在main.ts里添加一个全局路由守卫大哥,拦截所有地址栏请求:
router.beforeEach((to, from, next) => {
if (to.meta.requireAuth) { // 需要权限
//判断当前是否拥有权限
if (loca