UNIX的权限控制体系很好,强大而异常灵活,可以借鉴一下。

我认为设计权限控制系统要区分控制的视角,否则将会由于控制的概念过于空泛而无从下手。

考察一下,面向对象的编程语言中有封装性控制,文件系统中有存取控制,多用户系统中有用户权限控制。。。其实,这些控制的本质都是一样的:即归根结底都是对施加到目标对象上的行为进行分类处理――首先根据不同的行为目的将控制分类成不同的控制视角,然后在同一视角下对行为的效果进行分类处理(在我们的项目中实际所要构建的权限控制系统通常只是某一视角下的行为效果控制系统)。因此,权限控制系统模型的通用性和可以有两个高低不同的层次,一是同一视角下的通用模型,一是所有视角下的通用模型。显然,所有视角下的通用模型需要更高的抽象。但是,建议在项目实施的开始,采用同一视角下的通用模型;当随着项目的不断完善,确实到了需要更高层次的通用模型时才开始考虑所有视角下的通用模型。

在对同一视角下的权限系统进行设计时,首先需要仔细的考察、确定当前权限控制系统使用的视角,这是整个设计的基础,非常重要,否则设计出来的权限系统由于视角不清晰,必然导致效果分类上的逻辑混乱(有可能是多种视角效果的混合体,而非单一视角的效果分类集合)。这样一来,由于权限系统设计时内部逻辑不和谐,甚至有可能在概念上和逻辑上造成错综复杂、千头万绪的局面,由此产生的权限系统的实现也必然是低效的,建立在其上的应用系统也会因此而不稳定,经常出现一些自相矛盾的运行结果!

>
>
> 你在理解上不是很合适,其实你应该把权限极其控制理解成?> 个独立的概念,那么简单地说权限控制就是:让什么对象对访
> 实氖裁茨勘暧卸啻蟮娜ㄏ蕖D敲凑飧隼锩婢陀腥龈拍睿憾韵
> 、目标、多大。我们常说的对象其实就是值Role或者User,而
> 勘昴鼐头治街郑菏荨⒐δ埽欢啻笃涫狄卜治街郑汗愣群
> 深度。
>
>
> 换句话讲,一个人对某个公司的某条数据具有某种操作权限?> 这个时候,人就是对象,数据就是目标,而公司以及操作就是
> 愣群蜕疃取?>
>
> 这样理解后,你就可以独立地设计出一个具有可移植的权限?> 理模块了。我在前年的时候就在公司做了这样的事情,当时已
> 迪值绞菪腥ㄏ蓿ǘ匀ㄏ薜目刂凭返绞菪校唤鼋鍪
> 模块或者类),其实还有可能加上数据列(即不同对象看到不
> 哪谌荩徊还罄刺哿恕?> 好了,有什么问题,我们继续讨论。

我前段时间为公司内部做一个内部管理系统也对权限的问题搞的晕头转向的,我自己写模块来判断,确实和楼主的情况一样,能否把你的系统贴个图上来让大家借鉴一下,谢谢