首页 > 其他分享 >从自己的项目出发去实现前端权限管理

从自己的项目出发去实现前端权限管理

时间:2022-08-30 01:01:59浏览次数:47  
标签:登录 前端 token 跳转 权限 vuex 出发 路由

我在自己的后台管理项目中 根据登录的用户不同,从而对不同的用户给予不同的权限。这里 是通过路由,以及token验证,并且通过vuex进行全局的控制

下面就从我自己的简单项目出发 我今天拜读了几大佬位的文章之后 发现自己的权限管理实在过于简单了。后面也会对大佬的文章思路进行梳理。

1.登录

不管怎么样的权限管理 第一步都是登录 

这样简单的一个登录页面 两个input框 加上一个登录按钮就搞定了

我这里使用的是mock模拟的数据

这里分别代表的两种用户

在登录的界面中有一个·点击的按钮 按钮点击之后就会对发起请求

api配置

按钮

这里会和后台的数据进行验证 后台与之对应成功后会返回一个token 

这里利用mock里面的随机数来随机制作的Token

然后在点击按钮之后会调用vuex 把token传递个vuex

vuex会把token存储起来 与此同时也会把token存储到cookie之中

这个时候只有这一步那么我们的登录就基本上完成了

完成登录才可以跳转到管理界面 这个时候就需要路由拦截

因为是存在本地的tooken中 所以你再次刷新的时候就不会要再从新登录了 同样把这个存在sessionStorage是一样的 不管cookie更加安全

同样的 由于 vue 是单页面应用,操作都是在一个页面跳转路由,因此 sessionStorage 较为合适 我在另一个项目中就大量的使用到了sessionStorage

好的 下一步就是权限管理了 我这个项目的权限管理可以用简单粗暴来形容 为什么那么说 往下看

我在调用完token进入登录界面之后 再次调用了vuex的下一个方法 把menu传入 到了setMenu中 而menu 这个由发起post请求返回的实际上是

仔细一看 是不是很熟悉的 这里实际上就是路由的配置文件

我这边直接把路由的配置文件加入进来了 

这里使用vuex把他相关的数据存储起来

然后下一步就是调用路由动态配置 应该吧哪些组件配置给对应的路由

获取到数据之后动态生成路由相关数据

并且把路由相关的数据添加到路由文件中 但是因为这是发送在内存中的 所有本地察觉不到

OK下一步就是渲染了

这里通过计算属性把vuex的有关数据简写获取 

然后根据获取到的数据进行组件的渲染

 

 

 

同时根据获取到的数据通过命名路由跳转

实现路由跳转 这样我个人的项目的前端鉴权就完成了可以说十分的简单 而且这种方式可以说并不好  后面我们仔细学习一下大佬的鉴权和跳转方式

 

标签:登录,前端,token,跳转,权限,vuex,出发,路由
From: https://www.cnblogs.com/tomxiao/p/16637927.html

相关文章

  • 前端页面布局方式有哪些?
    1、固定布局(1)适用于局部元素固定位置(例如:返回顶部的按钮固定在页面底部)(2)适用于h5页面整个页面尺寸、元素比例的控制2、流式布局依据文档流本身的特点,不做控制,自上往下......
  • 前端页面框架
    目录jQuery框架操作jQuery事件动画效果Bootstrap框架jQuery框架操作1.筛选器方法1.1下一个元素:next、nextAll($("#id").)nextUntil($("#id").nextUntil("#i2")两个指定......
  • 【2022.8.26】前端开发(5)
    学习内容概要JS获取用户输入值JS事件绑定jQuery类库jQuery常见操作内容详细JS获取用户输入普通数据(输入、选择) 标签对象.value文件数据(上传) 标签对象.......
  • 【2022.8.29】前端开发(6)
    学习内容概要jQuery更多操作(属性、样式、数据值)jQuery绑定事件jQuery简易动画效果Bootstrap页面框架内容详细筛选器方法$("#id").next()$("#id").nextAll()......
  • 大巧不工Web前端设计修炼之道 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/11d2J72Dga2PRQGgpyswM4w点击这里获取提取码大巧不工Web前端设计修炼之道以Web前端设计的流程为主线,以前端设计的方法和原则......
  • 前端Day11
    Flex布局:当为父元素设置flex布局后,子元素的float、clear、vertical-align属性将失效! flex常见父项属性:flex-direction设置主轴方向:justify-content设置子元素排......
  • 4 权限分配
    给用户进行权限的分配。1角色管理项目目录下urls新增一条urlfromdjango.conf.urlsimporturl,includefromdjango.contribimportadminurlpatterns=[ur......
  • 前端CSS的简单学习
    1:什么是CSSCascadingstyleSheet:层叠级联样式表CSS:字体,颜色,边距,宽度,背景图片。。。2:CSS的快速入门语法(推荐引入css的样式)建议使用独立的css文件,方便项目的维......
  • (Vue)前端获取头文件中的文件内容进行点击下载
    一、需求通过点击按钮下载后端接口头文件中的二进制流文件二、实现1、查看后台接口返回及头文件    这里可以通过content-disposition获取文件名,因......
  • 前端开发常用工具
    记录自己经常用到的工具,换电脑时使用----------不定时更新 一:电脑相关1.windows系统,安装nvmnode包管理工具,可以切换多个node版本,以适应vue2,vue3,react等开发需求,安......