还没有下班,就还写点东西吧,就当是自己这些天来对权限模型的一些总结吧,不过是自己的一些理解,错误难免。
权限一般来说,应该有三种类型,第一是功能权限,第二,资源权限,第三,数据权限。
功能权限应该就英语中的不及物动词的概念吧。资源权限,就相当于及物动词,我觉得,这两种权限差不多,一般在权限也不一定要区分开。这两种权限,我认为 资源权限与数据权限的区别不过是不涉及到具体的对象,如果对不同的对象,不同人有不同的权限,这就是数据权限了。这其实很好理解,这个版的版主就只对这个这个版的帖子有权限。一般的系统都 会涉及到数据权限,除了某些小型的系统外。不过在权限系统的实现上,不少系统都只是实现到资源权限,对具体的数据权限的判断放到了业务逻辑里来实现。
权限系统一般有两种实现方式,基于角色的RBAC模型,与ACL模型。也许还有两种结合起来的吧。我这个权限系统是基于角色的,故对RBAC模型也稍了解一些。我认为如果数据权限不特别细的话,用RBAC模型来实现还是比较好一点。今天就讲这么一点吧,饿了,还要回去做饭呢。