前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >权限系统就该这么设计(万能通用),稳的一批!

权限系统就该这么设计(万能通用),稳的一批!

作者头像
macrozheng
发布2023-09-04 14:48:46
6470
发布2023-09-04 14:48:46
举报
文章被收录于专栏:mall学习教程

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

功能设计

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

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

用户管理

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

角色管理

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

菜单管理

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

资源管理

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

功能整理

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

数据库设计

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

接口设计

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

技术要点

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

  • 为了实现认证和授权功能,项目中整合了SpringSecurity和JWT。
  • 为了使权限功能更加灵活通用,我们还会通过SpringSecurity实现接口的动态权限控制。
  • 为了提高系统的性能,我们还会使用Redis+AOP来优化权限管理功能。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-06-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 macrozheng 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 功能设计
    • 用户管理
      • 角色管理
        • 菜单管理
          • 资源管理
          • 功能整理
          • 数据库设计
          • 接口设计
          • 技术要点
          相关产品与服务
          云数据库 Redis®
          腾讯云数据库 Redis®(TencentDB for Redis®)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档