Created
December 8, 2018 19:44
-
-
Save XiongJingzhi/c3f8d67d99b3fce9eaa79ee207d375f4 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
做了 n 个 spa,给你一点意见: | |
1,登陆权限,一般来说这个是独立出来,不用 spa 做,就一个表单的事情,后面也容易做扩展,包括单点登录什么的; | |
2,登陆集成到 spa 里面,这个一般在请求加拦截,vuex 可以存 token,每次请求头带 token,后端校验 token 是否有效,如果修改了或者过期了,返回约定的字段标识,异步请求 axios 在返回 response 的时候优先拦截 token 校验,如果失效直接 vue-router 路由到登录页; | |
3,内部权限,子页面什么的,前端一般是打包好了文件,页面是全部的,但是有的页面需要权限控制是否能访问,这时候只能做 2 次校验,后端返回当前权限能访问的路由 or 页面,存 vuex,前端路由加 watch,每次切换跳转都要遍历一次; | |
4,接口权限,有的接口是不能提供给无权限的人使用的,比如抓包出来的;这时候后端做鉴权,返回约定的字段就行 | |
后台管理系统 | |
1. 维护页面菜单信息,名称,上下级关系,路由等; | |
2. 维护 API 信息,API 的名称,路由; | |
3. 维护菜单和 API 的对应关系; | |
4. 维护角色信息,包括角色有哪些菜单权限; | |
----------------- | |
正常流:用户登陆后,根据角色返回菜单信息,并构造页面。 | |
异常流:用户自己输入菜单 URL,但是 API 调用时,后台会进行 角色校验如果没有对应 API 权限,会返回异常。 | |
----------------- | |
关于菜单和 API 对应关系,建议前后端一起约定,根据相同的前缀可以模糊匹配,大大降低工作量。 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment