Open joker-ssh opened 2 years ago
不是。 默认的角色判断是“或”的关系,你要改为“且”的关系,应该是
return route.meta.roles.every(role => roles.includes(role))
而下例,用户角色只要是路由角色的子集都成立。
比如某路由设置 [editor,developer]
,用户只有 [editor]
也能访问
return roles.every(role => route.meta.roles.includes(role))
比如[editor,developer ]存在roles里面,必须满足这两个权限都在才能加入accessRoutes里。那我在permission.js的 hasPermission函数里,把return roles.some(role => route.meta.roles.includes(role))方法换成return roles.every(role => route.meta.roles.includes(role)) 是不是就能解决这个问题了。 求大佬解惑