权限管理怎么做

1.权限管理

因为客户管理系统涉及的用户和权限比较多,所以要做权限管理

1.1 大致思路是前端会有一份路由表,它表示了每一个路由可访问的权限。当用户登录之后,通过 token 获取用户的 role ,

动态根据用户的 role 算出其对应有权限的路由,再通过router.addRoutes动态挂载路由。

我们公司现在就是前端来控制页面级的权限,不同权限的用户显示不同的侧边栏和限制其所能进入的页面,
后端则会验证每一个涉及请求的操作,验证其是否有该操作的权限,每一个后台的请求不管是 get 还是 post
都会让前端在请求 header里面携带用户的 token,后端会根据该 token 来验证用户是否有权限执行该操作。
若没有权限则抛出一个对应的状态码,前端检测到该状态码,做出相对应的操作。

1.2 具体实现

1.创建vue实例的时候将vue-router挂载,但这个时候vue-router挂载一些登录或者不用权限的公用的页面。

2.当用户登录后,获取用户的role,将role和路由表每个页面的需要的权限作比较,生成最终用户可访问的路由表。

3.调用router.addRoutes(store.getters.addRouters)添加用户可访问的路由。

4.使用vuex管理路由表,根据vuex中可访问的路由渲染侧边栏组件。

  • 1.怎么挂载的?
    首先权限控制的代码都写在permission.js中,然后在入口文件中导入。
    permission.js主要是用导航守卫和store中封装的方法来进行路由权限设置。
    主要对token和用户角色的判断,
    详细内容是
    1.没有token,判断跳转页面是否属于白名单,属于跳转,不属于跳转到登陆页
    2.有token 跳转的是否是登陆页,是的话跳到首页。
    3.不是登陆页的话,判断store中用户是否有角色(getInfo),有的话直接跳转
    4.如果没有角色,通过store的方法获取角色,根据角色生成路由表,用addRouters添加路由表
    (generateRoutes)

  • 2.根据角色生成路由表的方法是怎么写的?
    传入roles参数,设置个中间变量存储可访问路由。如果角色是超级管理员,就把所有动态的路由
    赋值给可访问路由,如果不是超级管理员,根据roles和所有动态路由这两个参数通过筛选动态路由方法,获取可访问路由,然后
    将可访问路由提交给设置路由方法,生成当前的路由表

  • 3.筛选动态路由方法怎么写的?
    遍历路由,判断路由是否有对应的roles,如果有再判断该路由的子路由是否有对应的roles,将符合的
    路由push到临时对象中,在遍历后进行返回

  • 4.如何判断该路由的子路由是否有对应的roles
    比较路由的meta属性的roles是否包含要判断的角色role

  • 5.如何把路由渲染侧边栏组件
    通过vuex中的getters取到state中的可访问组件,然后在侧边栏组件中通过mapGetters将vuex中的getters
    映射到组件的计算属性上,然后通过遍历将路由渲染到侧边栏组件上

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,084评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,623评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,450评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,322评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,370评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,274评论 1 300
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,126评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,980评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,414评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,599评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,773评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,470评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,080评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,713评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,852评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,865评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,689评论 2 354