欢迎来到天天文库
浏览记录
ID:38396038
大小:924.55 KB
页数:16页
时间:2019-06-11
《用户及权限管理设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、用户及权限管理设计哈尔滨工业大学国家示范性软件学院主讲:范国祥2011.03主要内容用户管理及权限管理的意义用户及权限管理涉及的几个概念用户及权限管理设计方案用户及权限管理通用功能设计用户及权限管理设计实例用户管理及权限管理的意义用户管理及权限管理一直是应用系统中不可缺少的一个部分系统用户很多,系统功能也很多不同用户对系统功能的需求不同出于安全等考虑,关键的、重要的系统功能需限制部分用户的使用出于方便性考虑,系统功能需要根据不同的用户而定制用户及权限管理涉及的几个概念用户分类:系统用户、超级用户、管理员用户、DBA用户、领导用户、专家用户、操作员用户、客户用户、……系统权限
2、:即对不同用户使用系统资源(功能菜单项、按钮、输入控件等)的使用或访问权限用户:应用系统的具体操作者,用户可以拥有一定范围的权限角色:为了对许多拥有相似权限的用户进行分类管理,定义了角色的概念,例如系统管理员、管理员、用户、访客等角色组:为了更好地管理用户,对用户进行分组归类,简称为用户分组,如普通QQ群、高级QQ群;一级单位用户、二级单位用户等用户及权限管理涉及的几个概念用户的权限集=自身的权限+所属的各角色权限+所属的各组权限权限、用户、角色、组之间的关系用户及权限管理设计方案1.基于角色的权限设计2.基于操作的权限设计3.基于角色和操作的权限设计4.2&3组合的权限设
3、计5.精确至数据记录的权限设计6.涉及资源、权限和规则的权限设计用户及权限管理设计方案1.基于角色的权限设计最常见也是比较简单的方案通常这种设计已经足够微软设计了该方案的通用做法:所有“操作”(功能)跟“角色”匹配在程序中根据“角色”对是否具有“操作”权限进行控制用户及权限管理设计方案2.基于操作的权限设计该模式下每一个“操作”都在数据库中有记录,用户是否拥有该操作的权限也在数据库中有记录问题:如果直接使用上面的设计,会导致数据库中的UserAction表数据量非常大,需要进一步设计提高效率用户及权限管理设计方案3.基于角色和操作的权限设计该方案是对方案2的改进:添加了Ro
4、le和RoleAction表,从而可以减少UserAction中的记录,并且使设计更灵活不足:经常需要定义新的“角色”例如:当用户要求临时给某位普通员工某操作权限时,就需要新增加一种新的用户角色,但是这种用户角色是不必要的,因为它只是一种临时的角色,如果添加一种角色还需要在收回此普通员工权限时删除此角色用户及权限管理设计方案添加了UserAction表,使用此表来添加特殊用户的权限,该表中有一个字段HasPermission可以决定用户是否有某种操作的权限,该表中记录的权限的优先级要高于UserRole中记录的用户权限。这样在应用程序中我们就需要通过UserRole和Us
5、erAction两张表中的记录判断权限不足:有可能用户会要求某一种Action所操作的对象部分记录有权限,而对于其他的记录没有权限,比如说一个内容管理系统,对于某一些频道某个用户有修改的权限,而对于另外一些频道没有修改的权限,该设计不能满足要求4.2&3组合的权限设计用户及权限管理设计方案该方案需要对每一种不同的资源创建一张权限表例如:上图中对Content和Channel两种资源分别创建了UserActionContent和UserActionChannel表用来定义用户对某条记录是否有权限不足:该设计可以满足用户需求但是不是很经济,UserActionChannel和U
6、serActionContent中的记录会很多,而在实际的应用中并非需要记录所有的记录的权限信息,有时候可能只是一种规则,比如说对于跟Channel什么级别的人有权限;这时我们就可以定义些规则来判断用户权限,下面就是这种设计5.精确至数据记录的权限设计〔对于同一种实体(资源)用户可以对一部分记录有权限〕用户及权限管理设计方案6.涉及资源、权限和规则的权限设计该设计下角色的概念已经没有了,只需要Rule在程序中的类中定义用户是否有操作某种对象的权限。用户及权限管理通用功能设计用户及权限管理具体实现中,通用的管理功能大致如图用户及权限管理设计实例《大庆炼化公司建设项目后评价管理
7、系统》中的用户及权限管理设计方案采用的是方案3(用户-角色-操作)用户及权限管理设计实例《大庆炼化公司建设项目后评价管理系统》中的用户及权限管理设计方案采用的是方案3(“用户-角色”设定功能实现)用户及权限管理设计实例《大庆炼化公司建设项目后评价管理系统》中的用户及权限管理设计方案采用的是方案3(“用户-操作”设定功能实现)
此文档下载收益归作者所有