权限管理
权限管理的需求分析:
三部分:菜单管理、角色管理、用户管理。
菜单管理就是对不同的菜单进行增删改查,就是对前端中的路由的管理,当路由下还有子路由时,删除该路由就是使用递归删除,直至没有子路由。
1、菜单管理
(1)菜单列表
(2)菜单的添加、修改
(3)菜单的删除
2、角色管理
(1)对角色的添加、修改、删除、查询
(2)为角色分配可访问的菜单
3、用户管理
(1)用户的添加、修改、删除、查询
(2)为用户分配角色
例如有讲师管理和课程管理两个菜单,首先要给管理员赋予访问这两个菜单的权利,然后要给用户lucy赋予管理员身份,使得当lucy用户登录时,他就可以去访问讲师管理和课程管理这两个菜单了。
权限管理中的表分析:
至少五张表才可以把功能做的相对完善
菜单表、角色表、用户表、角色和菜单的关系表、用户和角色的关系表。两张关系表是因为菜单表和角色表是多对多的关系,就是说讲师管理可以由管理员和测试人员访问,管理员也可以访问讲师管理和课程管理,同理角色表和用户表也是多对多的关系,管理员可以是lucy和mary,lucy同时也可以是管理员和测试人员。
在两张关系表中存储的分别是菜单id和角色id,角色id和用户id,正如图中菜单角色关系表所表达,管理员可以访问讲师管理和课程管理,课程管理可以被管理员和测试人员访问。角色用户关系表所表达,管理员可以是lucy和mary,mary也可以是管理员和测试人员。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义