从0到1实现权限控制系统

概要

如何实现一个从0到1的权限控制管理系统,主要是对于角色、菜单、按钮以及各个模块的精细控制,接下来就简单的介绍从前端到后端实现一个权限控制系统的思路

例如:

角色:某个角色都有对应的菜单权限。
用户:绑定某个角色。
菜单:动态页面的路由、标题等相关信息。

整体架构流程

后端采用springboot+mysql+redis(因不擅长java开发,简易使用接口)

首先确定3张表,用户表、菜单表、角色表,如下所示

  1. user用户表,主要包含用户的基本信息,登录名、登录密码、绑定的角色id等在这里插入图片描述
  2. 角色表,主要包含角色id、角色名、绑定的菜单数据在这里插入图片描述
  3. 菜单表,主要包含菜单名、路由路径、图标地址、级别、父级菜单、是否启用等在这里插入图片描述
    前端采用Vue3+ts+ant-design-vue来实现

技术细节

后端实现(简易接口实现,不考虑其他因素)

例如:

  • 首先就是3张表的增删改查,创建3个实体类,然后编写增删改查接口(其中一张表和接口实现)在这里插入图片描述在这里插入图片描述

  • 添加拦截器,过滤些接口,其他接口无token就不能通过在这里插入图片描述

  • 登录接口就简易验证账号密码是否正确,然后往redis写入相关信息,并给前端返回token

前端实现具体控制流程

例如

  • 登录的时候调用接口并缓存token后调用获取个人信息接口也缓存,可以利用pinia进行处理包含
  • 获取到相应个人信息中包含了相应的菜单信息,通过动态追加路由实现用户对应角色展示的页面
  • 颗粒度划分页面上某些功能或者某些内容展示,利用自定义指令在这里插入图片描述

整体思路

后端通过每个用户绑定的角色返回相应的信息,前端动态展示,并且可以根据返回的角色标识编写多个自定义指令,全局注册去使用,达到按钮功能和一些模块的控制,而不用单独判断。

小结

这是一个简单控制权限的思路,具体更为复杂,对于角色和用户划分上更为复杂,主要是探讨一个权限控制流程,让前端人员从0到1了解整体的实现流程,包括操作数据库、redis、接口的编写等等,这样你就可以在功能开发上和后端battle了,也有助于解决问题。目前也在实现功能中,小菜鸡一枚,多多关照!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值