控制菜单访问权限的2种思想
2009-04-22 10:52 通用C#系统架构 阅读(1690) 评论(0) 编辑 收藏 举报1. 比较简单的处理方法
用户(User)直接有访问某些菜单的访问权限(例如 ModuleAccess 权限),
若系统规模比较大一些,那就是 角色(Role)有访问某些菜单的访问权限,
用户直接拥有-> (某些)菜单的,访问权限
2. 稍微复杂的处理方法(建议这样处理)
某个菜单的访问权限是,由于拥有某些权限(Permission)有这些权限
就可以访问此菜单。通过这个菜单连接进来的模块里有这些权限的处理。
菜单与权限是一对多的关系,权限与菜单也是一对多的关系,权限与菜单总体上是多对多的关系。
用户(User)拥有某些权限,角色拥有某些权限,
用户又属于某些角色,由此推理出来,用户到底可以访问哪些菜单。
用户-> 某些权限-> 可以访问某些菜单
总结:
菜单的权限应该是权限的某种体现,复杂系统里总不可能,菜单的权限是菜单的权限,
其他权限又是单独的权限配置功能,那就比较难受一些了,配置起来,也凌乱一些。
一些开放性的,控制简单的,适合用第1个思路去解决问题,权限控制比较复杂严密的
管理系统,建议采用第2个思路去解决问题。
可能我太笨了,就这么点儿东西,反反复复想了很久很久才确定下来,我现在的系统
是以上2种方法都满足的,用户想采用哪个策略都可以,我觉得这2种做法都是对的,
没有哪个对,哪个错的说法,哪个更适合你,就用那个就可以了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· 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 让容器管理更轻松!