资源预览内容
第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
第9页 / 共16页
第10页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
用户及权限管理设计用户及权限管理设计哈尔滨工业大学哈尔滨工业大学国家示范性软件学院国家示范性软件学院主讲:范国祥主讲:范国祥2019.032019.032主要内容主要内容 v用户管理及权限管理的意义用户管理及权限管理的意义v用户及权限管理涉及的几个概念用户及权限管理涉及的几个概念v用户及权限管理设计方案用户及权限管理设计方案v用户及权限管理通用功能设计用户及权限管理通用功能设计v用户及权限管理设计实例用户及权限管理设计实例3用户管理及权限管理的意义用户管理及权限管理的意义v用户管理及权限管理不断是运用系统中不可短少用户管理及权限管理不断是运用系统中不可短少的一个部分的一个部分v系统用户很多,系统功能也很多系统用户很多,系统功能也很多v不同用户对系统功能的需求不同不同用户对系统功能的需求不同v出于平安等思索,关键的、重要的系统功能需限出于平安等思索,关键的、重要的系统功能需限制部分用户的运用制部分用户的运用v出于方便性思索,系统功能需求根据不同的用户出于方便性思索,系统功能需求根据不同的用户而定制而定制4用户及权限管理涉及的几个概念用户及权限管理涉及的几个概念v用用户分分类:系:系统用用户、超、超级用用户、管理、管理员用用户、DBADBA用用户、指点用、指点用户、专家用家用户、操作、操作员用用户、客、客户用用户、v系系统权限:即限:即对不同用不同用户运用系运用系统资源功能菜源功能菜单项、按按钮、输入控件等的运用或入控件等的运用或访问权限限v用用户:运用系:运用系统的的详细操作者,用操作者,用户可以可以拥有一定范有一定范围的的权限限v角色:角色:为了了对许多多拥有有类似似权限的用限的用户进展分展分类管理,管理,定定义了角色的概念,例如系了角色的概念,例如系统管理管理员、管理、管理员、用、用户、访客等角色客等角色v组:为了更好地管理用了更好地管理用户,对用用户进展分展分组归类,简称称为用用户分分组,如普通,如普通QQQQ群、高群、高级QQQQ群;一群;一级单位用位用户、二二级单位用位用户等等5用户及权限管理涉及的几个概念用户及权限管理涉及的几个概念用户的权限集用户的权限集 本身的权限本身的权限 所属的各角色权限所属的各角色权限 所属的所属的各组权限各组权限权限、用户、角色、组之间的关系权限、用户、角色、组之间的关系6用户及权限管理设计方案用户及权限管理设计方案1. 基于角色的权限设计基于角色的权限设计2. 基于操作的权限设计基于操作的权限设计3. 基于角色和操作的权限设计基于角色和操作的权限设计4. 2&3组合的权限设计组合的权限设计5. 准确至数据记录的权限设计准确至数据记录的权限设计6. 涉及资源、权限和规那么的权限设涉及资源、权限和规那么的权限设计计 7用户及权限管理设计方案用户及权限管理设计方案1. 基于角色的权限设计基于角色的权限设计l最常最常见也是比也是比较简单的方案的方案l通常通常这种种设计曾曾经足足够l微微软设计了了该方案的通用做法:方案的通用做法:l一切一切“操作功能跟操作功能跟“角色匹配角色匹配l在程序中根据在程序中根据“角色角色对能否具有能否具有“操作操作权限限进展控制展控制8用户及权限管理设计方案用户及权限管理设计方案2. 基于操作的权限设计基于操作的权限设计v该方式下每一个方式下每一个“操作都在数据操作都在数据库中有中有记录,用,用户能否能否拥有有该操操作的作的权限也在数据限也在数据库中有中有记录v问题:假:假设直接运用上面的直接运用上面的设计,会,会导致数据致数据库中的中的UserActionUserAction表表数据量非常大,需求数据量非常大,需求进一步一步设计提高效率提高效率9用户及权限管理设计方案用户及权限管理设计方案3. 基于角色和操作的权限设计基于角色和操作的权限设计v该方案是方案是对方案方案2 2的改良:添加了的改良:添加了RoleRole和和RoleActionRoleAction表,从而可以减表,从而可以减少少UserActionUserAction中的中的记录,并且使,并且使设计更灵敏更灵敏v缺乏:缺乏:经常需求定常需求定义新的新的“角色角色例如:当用例如:当用户要求要求暂时给某位普通某位普通员工某操作工某操作权限限时,就需求新添,就需求新添加一种新的用加一种新的用户角色,但是角色,但是这种用种用户角色是不用要的,由于它只是角色是不用要的,由于它只是一种一种暂时的角色,假的角色,假设添加一种角色添加一种角色还需求在收回此普通需求在收回此普通员工工权限限时删除此角色除此角色10用户及权限管理设计方案用户及权限管理设计方案v添加了添加了UserActionUserAction表,运用此表来添加特殊用户的权限,该表中有一个字段表,运用此表来添加特殊用户的权限,该表中有一个字段HasPermissionHasPermission可以决议用户能否有某种操作的权限,该表中记录的权限的优可以决议用户能否有某种操作的权限,该表中记录的权限的优先级要高于先级要高于UserRoleUserRole中记录的用户权限。这样在运用程序中我们就需求经过中记录的用户权限。这样在运用程序中我们就需求经过UserRoleUserRole和和UserActionUserAction两张表中的记录判别权限两张表中的记录判别权限v缺乏:有能够用户会要求某一种缺乏:有能够用户会要求某一种ActionAction所操作的对象部分记录有权限,而对于所操作的对象部分记录有权限,而对于其他的记录没有权限,比如说一个内容管理系统,对于某一些频道某个用户有其他的记录没有权限,比如说一个内容管理系统,对于某一些频道某个用户有修正的权限,而对于另外一些频道没有修正的权限,该设计不能满足要求修正的权限,而对于另外一些频道没有修正的权限,该设计不能满足要求4. 2&3组合的权限设计组合的权限设计11用户及权限管理设计方案用户及权限管理设计方案l该方案需求对每一种不同的资源创建一张权限表该方案需求对每一种不同的资源创建一张权限表l例如:上图中对例如:上图中对ContentContent和和ChannelChannel两种资源分别创建了两种资源分别创建了UserActionContentUserActionContent和和UserActionChannelUserActionChannel表用来定义用户对某条记录能否有权限表用来定义用户对某条记录能否有权限l缺乏:该设计可以满足用户需求但是不是很经济,缺乏:该设计可以满足用户需求但是不是很经济,UserActionChannelUserActionChannel和和UserActionContentUserActionContent中的记录会很多,而在实践的运用中并非需求记录一切的记录的中的记录会很多,而在实践的运用中并非需求记录一切的记录的权限信息,有时候能够只是一种规那么,比如说对于跟权限信息,有时候能够只是一种规那么,比如说对于跟ChannelChannel什么级别的人有权限;什么级别的人有权限;这时我们就可以定义些规那么来判别用户权限,下面就是这种设计这时我们就可以定义些规那么来判别用户权限,下面就是这种设计5. 准确至数据记录的权限设计对于同一种实体资源准确至数据记录的权限设计对于同一种实体资源用户可以对用户可以对 一部分一部分记录有权限记录有权限12用户及权限管理设计方案用户及权限管理设计方案6. 涉及资源、权限和规那么的权限设涉及资源、权限和规那么的权限设计计 该该设设计计下下角角色色的的概概念念曾曾经经没没有有了了,只只需需求求RuleRule在在程程序序中中的的类类中定义用户能否有操作某种对象的权限。中定义用户能否有操作某种对象的权限。13用户及权限管理通用功能设计用户及权限管理通用功能设计用户及权限管理详细实现中,用户及权限管理详细实现中,通用的管理功能大致如图通用的管理功能大致如图14用户及权限管理设计实例用户及权限管理设计实例中的用户及权限管理设计方中的用户及权限管理设计方案采用的是方案案采用的是方案3用户角色操作用户角色操作15用户及权限管理设计实例用户及权限管理设计实例中的用中的用户户及及权权限管理限管理设计设计方方案采用的是方案案采用的是方案3 “用用户户角色角色设设定功能定功能实现实现 16用户及权限管理设计实例用户及权限管理设计实例中的用中的用户户及及权权限管理限管理设计设计方方案采用的是方案案采用的是方案3 “用用户户操作操作设设定功能定功能实现实现
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号