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

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

2009-04-22 10:52  通用C#系统架构  阅读(1690)  评论(0编辑  收藏  举报

1. 比较简单的处理方法

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

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

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

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

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

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

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

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

 



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


微信扫一扫加好友