作者:管理员  历史版本:1  更新时间:2024-12-03 09:04

参考文章 https://juejin.im/post/6844903478880370701
文章有改变,根据IBPS平台代码改变

前言

        进入正题,做后台项目区别于做其它的项目,权限验证与安全性是非常重要的,可以说是一个后台项目一开始就必须考虑和搭建的基础核心功能。我们所要做到的是:不同的权限对应着不同的路由,同时侧边栏也需根据不同的权限,异步生成。这里先简单说一下,我实现登录和权限验证的思路。

  • 登录:当用户填写完账号和密码后向服务端验证是否正确,验证通过之后,服务端会返回一个token,拿到token之后(平台会将这个token存贮到cookie中,保证刷新页面后能记住用户登录状态),前端会根据token再去拉取一个user_info 的接口来获取用户的详细信息(如用户权限,用户名、主题等等信息),把当前用户的相关信息存在local storage
  • 权限验证:通过token获取用户对应的 rolemenu,动态根据用户的 menu 算出其对应有权限的路由,通过router.addRoutes 动态挂载这些路由。

        上述所有的数据和操作都是通过vuex全局管理控制的。(补充说明:刷新页面后 vuex的内容也会丢失,所以需要重复上述的那些操作,则把相关信息存在local storage)接下来,我们一起手摸手一步一步实现这个系统。

登录篇

        随便找一个空白页面撸上两个input的框,一个是登录账号,一个是登录密码。再放置一个登录按钮。我们将登录按钮上绑上click事件,点击登录之后向服务端提交账号和密码进行验证。
这就是一个最简单的登录页面。如果你觉得还要写的更加完美点,你可以在向服务端提交之前对账号和密码做一次简单的校验。详细代码(src\views\system\login