当前位置: 首页>編程日記>正文

Vue + Spring Boot 项目实战(十一):用户角色权限管理模块设计

Vue + Spring Boot 项目实战(十一):用户角色权限管理模块设计

第二部分目录

* 总目录
Vue + Spring Boot 项目实战(十一):用户角色权限管理模块设计
Vue + Spring Boot 项目实战(十二):访问控制及其实现思路
Vue + Spring Boot 项目实战(十三):使用 Shiro 实现用户信息加密与登录认证
Vue + Spring Boot 项目实战(十四):用户认证方案与完善的访问拦截
Vue + Spring Boot 项目实战(十五):动态加载后台菜单
Vue + Spring Boot 项目实战(十六):功能级访问控制的实现
Vue + Spring Boot 项目实战(十七):后台角色、权限与菜单分配
Vue + Spring Boot 项目实战(十八):博客功能开发

前言

期盼已久的中秋假期在加班中进入了尾声,昨天一路狂奔追赶火车的疲惫还未散去,早晨又在施工的轰鸣中惊醒,虽然还有许多工作需要做,但是我决定给自己放一天假,去它喵的福报。

今天是个有特殊意义的日子,因为“白卷”项目迎来了新生!进化后的它将包含面向普通用户的前台和面向管理员的后台,从此站生更加完整。

之所以选择今天开始,我想最大的原因是因为今天太无聊了。。。决定不工作后闲得肚子疼(真疼),只能给自己找点事情干,另一个系列的文章又没啥灵感,还是先挑个软柿子捏吧。

这一段文章的阅读量涨了不少,分析了一下,应该是有不少同学要做课程设计之类,呃,也算是为社会做出了点贡献???

接下来的内容就默认大家有一定基础了,不会再事无巨细地列出步骤。GitHub 上的源码会同步更新。

一、模块设计

用户角色权限管理是各类后台管理系统的重要组成部分,由于涉及多种概念与技术,实现起来稍微有一些难度,因此单独拎出来作为项目迭代的一个阶段,预计要用 5~7 篇来讲。其实搞定了这个部分,基本上就可以独立完成各种功能开发了,再往后走就是并发集群分布式这些玩意儿了,大家加油,坚持坚持翻过这座大山,后面也就剩个几十座了。。。

注意在实际生产环境中最好把前后台功能分成不同的工程开发,并分别部署,后台一般只能通过内网访问,网站的管理功能暴露出去还是很危险的,仅靠一道密码保护可太单薄了。

该模块的功能可以做如下拆解:
在这里插入图片描述
下面具体说一下。

1.用户管理

  • 用户信息: 显示用户的基本信息(昵称、联系方式、角色、部门等)
  • 组织架构: 显示、配置(增删改)组织架构,一般为树结构
  • 用户操作: 为用户分配角色(多对多)、组织架构(多对多),删除用户
  • 用户黑白名单: 对特殊用户进行特别控制

2.角色管理

  • 角色信息: 显示角色的基本信息(名称、权限等)
  • 角色操作: 根据需要增删角色、为角色分配权限(多对多,按不同粒度分配,并实现权限的互斥性检验)

3.权限管理

权限一般有如下三种粒度:

  • 菜单权限: 访问某一菜单(页面、路由)的权限
  • 操作/功能权限: 进行某一操作或使用某一功能的权限(如删除用户的权限)
  • 数据权限: 访问某种数据(表、字段)的权限,或对可操作数据量的控制

对权限的管理主要是根据需要增删权限内容,也就是维护三个权限列表(对应不同粒度),这个不难,难点在于怎么让这些个权限生效。

4.UI 设计

后台的界面设计上我打算随大流,整体采用纵向导航布局。

除了用户角色权限的管理,还可以把之前的图书内容管理放进去,再上系统配置,dashboard 之类,大概就是下面这个样子。

(目前这些图表放上去也就是唬唬人,并没有数据支撑,看上去挺像回事就行了)
dashboard

二、技术分析

从开发的角度考虑,用户角色权限管理模块的技术要点如下:

  • 用户、角色、权限、组织架构表结构设计
  • 用户身份验证、授权、会话管理,用户信息的加密存储
  • 不同粒度权限的具体实现

讲道理还是挺复杂的,但我们可以利用 shiro 框架极大地简化我们的开发。不得不说,用 Java 做后端还是很省心的,几乎所有的应用场景都有一套成熟的框架。

我会在教程中讲清功能实现的逻辑,大家也可以尝试不使用 shiro 提供的 API 而自己开发相关功能,以提高对更底层的东西的认知。

三、计划安排

有些从几个月前就开始看这个系列的同学应该发现了,我这个人最大的毛病就是文章写的慢,过去我感觉写文章像喝凉水一样随便,结果每次写完一篇文章都精疲力尽头晕眼花,干什么事都不容易啊。

我估摸着不发生意外的话今年能把这部分写完。。。。所以虽然我感觉为这部分新开一个系列会有更多流量,但还是默默地编入第十一篇,老被催更怪不好意思的。

开发倒是省力一些,我尽量早点把代码撸完哈。图灵保佑我最近不要老加班。

查看系列文章目录:
https://learner.blog.csdn.net/article/details/88925013

上一篇:Vue + Spring Boot 项目实战(十):图片上传与项目的打包部署

下一篇:Vue + Spring Boot 项目实战(十二):访问控制及其实现思路


https://www.fengoutiyan.com/post/17500.html

相关文章:

  • 鏡像模式如何設置在哪,圖片鏡像操作
  • 什么軟件可以把圖片鏡像翻轉,C#圖片處理 解決左右鏡像相反(旋轉圖片)
  • 手機照片鏡像翻轉,C#圖像鏡像
  • 視頻鏡像翻轉軟件,python圖片鏡像翻轉_python中鏡像實現方法
  • 什么軟件可以把圖片鏡像翻轉,利用PS實現圖片的鏡像處理
  • 照片鏡像翻轉app,java實現圖片鏡像翻轉
  • 什么軟件可以把圖片鏡像翻轉,python圖片鏡像翻轉_python圖像處理之鏡像實現方法
  • matlab下載,matlab如何鏡像處理圖片,matlab實現圖像鏡像
  • 圖片鏡像翻轉,MATLAB:鏡像圖片
  • 鏡像翻轉圖片的軟件,圖像處理:實現圖片鏡像(基于python)
  • canvas可畫,JavaScript - canvas - 鏡像圖片
  • 圖片鏡像翻轉,UGUI優化:使用鏡像圖片
  • Codeforces,CodeForces 1253C
  • MySQL下載安裝,Mysql ERROR: 1253 解決方法
  • 勝利大逃亡英雄逃亡方案,HDU - 1253 勝利大逃亡 BFS
  • 大一c語言期末考試試題及答案匯總,電大計算機C語言1253,1253《C語言程序設計》電大期末精彩試題及其問題詳解
  • lu求解線性方程組,P1253 [yLOI2018] 扶蘇的問題 (線段樹)
  • c語言程序設計基礎題庫,1253號C語言程序設計試題,2016年1月試卷號1253C語言程序設計A.pdf
  • 信奧賽一本通官網,【信奧賽一本通】1253:抓住那頭牛(詳細代碼)
  • c語言程序設計1253,1253c語言程序設計a(2010年1月)
  • 勝利大逃亡英雄逃亡方案,BFS——1253 勝利大逃亡
  • 直流電壓測量模塊,IM1253B交直流電能計量模塊(艾銳達光電)
  • c語言程序設計第三版課后答案,【渝粵題庫】國家開放大學2021春1253C語言程序設計答案
  • 18轉換為二進制,1253. 將數字轉換為16進制
  • light-emitting diode,LightOJ-1253 Misere Nim
  • masterroyale魔改版,1253 Dungeon Master
  • codeformer官網中文版,codeforces.1253 B
  • c語言程序設計考研真題及答案,2020C語言程序設計1253,1253計算機科學與技術專業C語言程序設計A科目2020年09月國家開 放大學(中央廣播電視大學)
  • c語言程序設計基礎題庫,1253本科2016c語言程序設計試題,1253電大《C語言程序設計A》試題和答案200901
  • 肇事逃逸車輛無法聯系到車主怎么辦,1253尋找肇事司機