权限是对特定资源的访问许可,所谓权限控制,也就是确保用户只能访问到被分配的资源。
前端权限控制可以分为四个方面:
- 接口权限
- 按钮权限
- 菜单权限
- 路由权限
接口权限控制
接口权限目前一般采用 jwt 的形式来验证,没有通过的话一般返回 401,跳转到登录页面重新进行登录。
登录完拿到 token,将 token 存起来,通过 axios 请求拦截器进行拦截,每次请求的时候头部携带 token
路由权限控制
初始化的时候先挂载不需要权限控制的路由,比如登录页,404 等错误页。如果用户通过 URL 进行强制访问,则会直接进入404,相当于从源头上做了控制。
登录后,获取用户的权限信息,然后筛选有权限访问的路由,在全局路由守卫里进行调用 addRoutes 添加路由。