在做项目时,需要考虑用户的角色不同,进入同一个系统看到的内容有所不同。比如页面内容不同,菜单栏不同,侧边栏不同等。
比如用户管理模块基本上只有管理员可见。比如非登录用户无法查看相应信息,比如相应角色才有相应模块功能。
所以在开发过程中需要考虑用户是否登录,需要考虑当前用户属于什么角色,什么模块是TA能看的,什么模块是不展示给TA看的。
由此,就需要做权限控制。可以从源头上,通过路由配置,判断相应角色是否有相应权限,来决定相应路由是否显示。
【实现以上需求可用到的知识点:router.addRoutes
,meta
】
vue 中通过 router.addRoutes 来挂载路由,管理用户权限。
通过判断角色来决定是否配置路由,来决定用户是否能看到该模块。有几种方法:
1, 单独配置需要权限的路由:
export const asyncRoute = [
{
path: '/users',
name: 'Users',
component: () => import('@/views/Users'),
meta: {