权限系统就该这么设计

对于后台管理系统来说,权限功能已经是必不可少的一部分了。如果你用过一些快速开发脚手架,你会发现很多都直接集成了权限功能。把权限功能做成一个通用功能,非常有利于代码的复用。今天就以我的mall电商实战项目为例,来聊聊权限系统的设计与实现!

mall项目简介

这里还是简单介绍下mall项目吧,mall项目是一套基于 SpringBoot + Vue + uni-app 的电商系统,目前在Github已有60K的Star,包括前台商城项目和后台管理系统,能支持完整的订单流程!涵盖商品、订单、购物车、权限、优惠券、会员等功能,功能很强大!

  • 项目地址:github.com/macrozheng/…
  • 学习文档:***

功能设计

在开始开发权限模块之前,我们先得把功能设计出来,可以出个效果图,由于mall项目权限功能已经开发完毕了,这里可以直接参考它的效果图。

从系统效果图可以看出,mall项目的权限功能共分为用户管理、角色管理、资源管理、菜单管理四个功能,下面分别介绍下这些功能。

用户管理

用户管理主要包括用户信息的管理以及给用户分配角色的功能。

权限系统就该这么设计,稳的一批!

角色管理

角色管理主要包括角色信息的管理、给角色分配菜单、给角色分配资源的功能。

权限系统就该这么设计,稳的一批!

菜单管理

菜单管理主要包括菜单信息的管理。

权限系统就该这么设计,稳的一批!

资源管理

资源管理主要包括资源信息以及资源分类的管理。

权限系统就该这么设计,稳的一批!

功能整理

功能设计完毕之后,我们就需要对功能进行整理了,主要是要考虑对应的数据如何存储,要设计哪些表和字段,可以使用思维导图功能来整理,下面是我整理好的功能思维导图。

权限系统就该这么设计,稳的一批!

数据库设计

接下来我们就可以根据整理好的思维导图来设计数据库表了,这是我设计好的mall项目权限模块数据库表结构。

权限系统就该这么设计,稳的一批!

接口设计

做好这些准备我们就可以开始写代码来实现权限模块功能了,我们可以对照系统的效果图来设计接口,满足系统的需求,比如mall项目的用户管理功能接口设计如下。

权限系统就该这么设计,稳的一批!

技术要点

其实在开发的过程中,我们还会涉及到一些权限框架的使用,比如我的mall项目中就使用到了SpringSecurity。

  • 为了实现认证和授权功能,项目中整合了SpringSecurity和JWT。
  • 为了使权限功能更加灵活通用,我们还会通过SpringSecurity实现接口的动态权限控制。
  • 为了提高系统的性能,我们还会使用Redis+AOP来优化权限管理功能。

总结

一个功能模块的开发一般要经历功能设计、功能整理、数据库设计、接口设计等过程,同时也需要解决开发过程中的技术问题,大家只要掌握它的通用设计思路,开发功能模块也就不难了!

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:dandanxi6@qq.com

(0)
上一篇 2023年 7月 27日 下午12:38
下一篇 2023年 7月 27日 下午12:44

相关推荐

  • 做美团外卖没车怎么办,美团外卖怎么开通月付

    关于如何开通美团外卖?有些小白可能还是一头雾水,以下是开通外卖的教程,并且如果需要同时开通多个平台的聚合接单自动打票功能,可建议买一个能双平台接单的云打印机,行业内品质较好的大趋云…

    2023年 9月 30日
  • 我要在手机上开具电子发票

    玲玲,有没有更快捷方便的开票方式可以跟大家分享的呀? 偷偷告诉你,@深税上线区块链电子发票服务啦! 什么是区块链?你说的是啥玩意?听名字就很复杂。 更简单!开票过程无需任何专用设备…

    2022年 12月 19日
  • 公司怎么注册企业微信(公司怎么注册企业微信号)

    公司注册企业微信是一种专业化的流程,它可以帮助企业建立内部沟通平台,提升工作效率和数据安全性。在这篇文章中,我将从不同角度描述企业微信的注册流程和相关优势。 一、注册前的准备工作 …

    2023年 8月 22日
  • 家人如何共享医保账户,医保亲情绑定个人承诺书怎么写

    家人参加居民医保没有职工医保个人账户,到药店买药无法刷医保个人账户怎么办?随着广东“门诊共济”改革逐项落地,职工医保参保人与家人绑定“亲情账号”也能共同享受到相关医保权益啦。近期,…

    互联网 2023年 4月 16日
  • 头条自媒体平台怎么

    当刷今日头条短视频时,同时系统会把视频缓存到手机文件中,在文件目录中找到文件后缀为“mdl”的文件,默认用华为视频打开,即可观看,若移动保存,可把后缀“mdl”改为“mp4”即可。…

    2023年 5月 14日
  • 携程火车票预订成功一定有票吗,携程火车票取消能退费么

    因深陷舆论风波,携程日前推出“普通预定”窗口,取消了旅客订购机票时的默认选项,但仍因搭售问题遭受舆论持续质疑。记者注意,虽然在订购机票时,携程做了技术上的处理,但在火车票订票环节,…

    2023年 5月 11日
  • dnf15周年庆奖励领取条件(dnf 十四周年庆奖励怎么获得)

    不知不觉,周年庆4弹奖励也曝光了一段时间了!这次4弹奖励可以说是史上最给力的一次了,不仅有玩家梦寐以求的冒险团更名卡,同时还有+13强化券,特别是+13强化券的赠送来说,要知道这还…

    2023年 6月 16日
  • 什么软件可以自动查快递物流信息

    最近有很多朋友在问,如何在电脑上查快递,多个单号的物流信息全部能查到吗?小编的回答当然是可以的,下面一起来试试这个新的查询技巧,希望能给大家带来帮助。 所需工具 安装一个快递批量查…

    2023年 10月 5日
  • cad可以测量长度吗

    我们在用CAD绘图的时候,经常需要测量各种各样的数据,长度的测量就是很常见的一种,不过有时候要测量的对象却不是一条直线那么简单,遇到一些特殊的情况就必须要掌握一些小技巧啦,今天小编…

    2023年 1月 5日
  • 为了点亮图标都做了什么(qq飞行岛不登录可以点亮图标吗)

    小编是一个95后,刚有第一个QQ号的时候是6年级,还是在黑网吧和朋友一起申请的。记得那时候表弟申请许多QQ号还经常能申请到9位数的QQ号,然后拿来使用,确实让人羡慕不已。 在那时候…

    2023年 4月 25日