您的位置:首页 > 编程语言 > Java开发

权限设计javaweb

2010-11-22 11:13 141 查看
权限是企业应用中常见限制关系,比如说有项目,成员两种类,成员对项目的权限不一,对不同项目还有不同权限,怎么设计这样的系统呢?

对于这样的系统一种常见的处理方式是固化,就是按等级给定权限,比如部门经理拥有所有项目的CRUD权限,项目经理只对自己的项目有CRUD权限,一般成员只有R权限,这样的设计不能完全反映现实的关系。只能用于非常僵化的场合。

实际上,项目,成员的关系类似于房间的门和人的关系,载它们之间加上钥匙一切都迎刃而解。

钥匙定义如下
class Key{
int projectId;// 项目的唯一ID
boolean create;
boolean read;
boolean update;
boolean delete;
}

钥匙串定义如下:
class KeyBunch{
Map buch;// 里面放的钥匙的hashMap

boolean isCanAccess(Project project){
.....
}
}

然后把钥匙串作为Member类的一个子项就可以了,Key由Project类生成,然后附加到Member类的KeyBunch中,其它函数可以根据情况书写.

这样,有了Key类和KeyBunch类,Project类和Member类的权限关系就变得合乎自然了,Project类和Member类也进一步解耦.

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/chinayaosir/archive/2009/10/19/4697552.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: