页面权限及路由控制

需要实现的功能:不同的权限对应于不同的路由,而侧边栏需要根据不同的权限异步生成。

实现方法:分为登录和权限验证两个部分。

1.登录:用户填写填写账户密码,向后端验证是否正确,验证通过后返回一个token值,为了避免刷新页面后token丢失,可选择将其存放在cookie中,前端会根据token值去拉取一个接口(user_info)以获取用户的详细信息(eg.用户权限、用户名一类)

2.权限验证:通过token以获取用户对应的role,并动态根据用户的role算出其路由权限,并通过router.addRoutes来动态挂载路由至页面。

前端有一份路由表,表示每个路由可访问的权限,当用户登录后,通过token获取用户的role,从而算出其应有权限的路由,再通过router.addRoutes动态挂载路由,但是该方法都是页面级的,安全性无法得到保证。

若由后端控制权限(后端根据用户权限动态生成路由),当项目更新时会导致过度依赖后端

具体实现:1.创建vue实例时将vue-router挂载,此时挂载一些登录或不用权限的公用页面。

                  2.用户登录后

tips:上述所有的数据和操作均需通过vuex进行全局管理控制,而刷新页面后vuex的内容会丢失,因此需要重复上述的操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值