控制菜单访问权限的2种思想
2009-04-22 10:52 通用C#系统架构 阅读(1690) 评论(0) 编辑 收藏 举报1. 比较简单的处理方法
用户(User)直接有访问某些菜单的访问权限(例如 ModuleAccess 权限),
若系统规模比较大一些,那就是 角色(Role)有访问某些菜单的访问权限,
用户直接拥有-> (某些)菜单的,访问权限
2. 稍微复杂的处理方法(建议这样处理)
某个菜单的访问权限是,由于拥有某些权限(Permission)有这些权限
就可以访问此菜单。通过这个菜单连接进来的模块里有这些权限的处理。
菜单与权限是一对多的关系,权限与菜单也是一对多的关系,权限与菜单总体上是多对多的关系。
用户(User)拥有某些权限,角色拥有某些权限,
用户又属于某些角色,由此推理出来,用户到底可以访问哪些菜单。
用户-> 某些权限-> 可以访问某些菜单
总结:
菜单的权限应该是权限的某种体现,复杂系统里总不可能,菜单的权限是菜单的权限,
其他权限又是单独的权限配置功能,那就比较难受一些了,配置起来,也凌乱一些。
一些开放性的,控制简单的,适合用第1个思路去解决问题,权限控制比较复杂严密的
管理系统,建议采用第2个思路去解决问题。
可能我太笨了,就这么点儿东西,反反复复想了很久很久才确定下来,我现在的系统
是以上2种方法都满足的,用户想采用哪个策略都可以,我觉得这2种做法都是对的,
没有哪个对,哪个错的说法,哪个更适合你,就用那个就可以了。
将权限管理、工作流管理做到我能力的极致,一个人只能做好那么很少的几件事情。