在众多的B端应用中,简单如小型企业的管理后台,还是大型的CMS,CRM系统,权限管理都是一个重中之重的需求,过往的web应用大多采取服务端模板+服务端路由的模式,权限管理自然也由服务端进行控制和过滤.但是在前后端分离的大潮下...,根据返回的结果判断是进入用户请求的路由还是跳转到login路由
而关于用户状态的判断,一般应该针对进入login路由(包括忘记密码之类的路由)和进入其他路由进行判断,在基于vuejs@2.x的前提下,...,省略了很多可优化的逻辑
每打开新的tab(非login路由)时都会重新自动登录并重新扩展router
每打开新的tab,自动登录之后依然会跳转到/路由,就算新打开的url为/page1
解决思路是把用户登录信息和路由信息存储在...localstorage中,当打开新tab时直接通过localstorage中存储的信息直接生成router对象.借助store.js和vuex-shared-mutations一类的插件可以一定程度上简化这部分逻辑...首先从后端获取允许当前用户访问的Api接口的权限
根据返回来的结果配置前端的ajax请求库(如axios)的拦截器
在拦截器中判断权限,根据需求提示用户即可
axios.interceptors.request.use