到底什么是权限?我们应该如何正确理解“权限定义”(请高手指点)
2009-05-22 11:44 通用C#系统架构 阅读(7002) 评论(75) 编辑 收藏 举报
曾经从别人那里学习到很多,现在也需要努力给予别人一些回报,不能太吝啬。
其实这个概念说简单也简单说难也很难,正确理解这个概念的人我见得不多,我也是在
2-3年前经过一个好朋友的彻底洗脑才真正明白了,经过折腾把自己的系统架够改进了
一下,需要改的地方还真的很多,现在遇到不少人做权限的,大多都是瞎搞,基本上不
符合权限的严格要求的,当然我的也可能是瞎扯蛋,仅供参考。
1。权限不只是 b/s 或者 c/s 系统里用,应该是通用的,就是权限应该是整体解决问题,
设计的通用权限,不应是只能解决某种类型的系统等。
2。你的系统里的权限,应该与其他系统的权限是兼容的,不是每个系统都有个性化的权
限,但是这个也不是绝对的。
3。多个系统,可以由一个权限设置派生,例如公司的权限就是集中的权限设置,你的应
用是应该能符合公司的权限体系,就是说,公司里有明确的到底有哪些哪些权限,这是由
公司统一配置管理的,买了A系统,那A系统是应该按整个公司的权限体系的配置来的,
又买了B系统,也是按公司的权限体系来的,而不是都各管理权限配置。
4。权限就是权限,例如“人事管理权限”、“财务管理权限”、“后勤管理权限”,当然
权限可以分得粗,也可以分得很细,应该是一个树型结构的设计。
5。同一个软件,可以适应多种权限体系,例如大公司购买了你的软件,权限划分得很细,
可能需要有200个权限限制点,一个小公司买了你的软件,可能只需要4个权限控制点,你
的软件应该可以灵活配置,可以适应细粒度管理也可以是适应粗粒度管理,按需可以灵活
配置。
6。由于没有某个权限,例如“人事管理权限”导致不能访问哪些哪些网址、哪些模块,
哪些按钮、哪些列,哪些单元格、哪些控件、哪些资源等,可以有影射关系、配置表等来
控制,相对来将,这些与权限的定义是无关的,只是权限的体现而已。
7。各个系统的权限可以独立设置、也可以集中配置,没必要每个系统都有个性化的后台管
理,维护学习这么多个性化的管理配置,也是需要很多成本的。
一直想知道 用户是否又某个权限,用什么函数名比较好?Authorization?请指点
bool Authorization("人事管理权限"); 操作权限判断函数,应该是只有一个参数就
足够了,意思是,我们判断是否有什么权限,就一个函数就可以了,一个万能的函数
就可以了。
======================================================
简要的总结:“权限就是权限”,不应该跟按钮、页面、模等等直接撤上啥关系,
是由于有了某个权限,才导致能访问哪些哪些模块、哪些哪些页面、哪些哪些按钮。
若第一步走错了,接着就是无穷无尽的麻烦带来了。
======================================================
我对权限的理解 如插图
不足之处,请指点补充