权限管理、用户权限系统、开源用户权限系统、信息化建设标准基础数据管理平台
代码改变世界

控制菜单访问权限的2种思想

  通用C#系统架构  阅读(1690)  评论(0编辑  收藏  举报

1. 比较简单的处理方法

用户(User)直接有访问某些菜单的访问权限(例如 ModuleAccess 权限),
若系统规模比较大一些,那就是 角色(Role)有访问某些菜单的访问权限,

用户直接拥有-> (某些)菜单的,访问权限

2. 稍微复杂的处理方法(建议这样处理)

某个菜单的访问权限是,由于拥有某些权限(Permission)有这些权限
就可以访问此菜单。通过这个菜单连接进来的模块里有这些权限的处理。
菜单与权限是一对多的关系,权限与菜单也是一对多的关系,权限与菜单总体上是多对多的关系。

用户(User)拥有某些权限,角色拥有某些权限,
用户又属于某些角色,由此推理出来,用户到底可以访问哪些菜单。
用户-> 某些权限-> 可以访问某些菜单

总结:
菜单的权限应该是权限的某种体现,复杂系统里总不可能,菜单的权限是菜单的权限,
其他权限又是单独的权限配置功能,那就比较难受一些了,配置起来,也凌乱一些。

一些开放性的,控制简单的,适合用第1个思路去解决问题,权限控制比较复杂严密的
管理系统,建议采用第2个思路去解决问题。

可能我太笨了,就这么点儿东西,反反复复想了很久很久才确定下来,我现在的系统
是以上2种方法都满足的,用户想采用哪个策略都可以,我觉得这2种做法都是对的,
没有哪个对,哪个错的说法,哪个更适合你,就用那个就可以了。

 

编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!


C# ASP.NET 通用权限设计、通用权限管理、通用权限组件、单点登录、集中式权限管理、统一授权体系、分级管理分级授权


微信扫一扫加好友



点击右上角即可分享
微信分享提示