前言
在一些项目中,涉及到对权限的判断,包括登录权限、页面权限、数据权限、按钮权限。
- 登录权限
分为游客访问和登录后访问 - 页面权限
给用户赋予一些角色后,用户可访问有权限的路由。 - 数据权限
一般由后端判断某些数据的展示与否 - 按钮权限
前端控制按钮的展示与否
登录权限
登录权限控制要做的事情,是实现哪些页面能被游客访问,哪些页面只有登录后才能被访问.在一些没有引入角色的软件系统中,通过是否登录来评定页面能否被访问在实际工作中非常常见.
解决方案: 在路由守卫里,通过路由里的meta信息来判断此路由是否需要登录。如果拿到了登录信息,则可访问,如果没有拿到登录信息,则跳转到登录页面。
export const routes = [
{
path: '/login', //登录页面
name: 'Login',
component: Login,
},
{
path:"/list", // 列表页
name:"List",
component: List,
},
{
path:"/myCenter", // 个人中心
name:"MyCenter",
component: MyCenter,
meta:{
need_login:true //需要登录
}
}
]
页面权限
动态路由 + 路由守卫
用到的API: router.addRoute
按钮权限
通过指令传参的方式,如果没有按钮权限,则移除这个dom元素