,这类资源往往是在程序初始化时完成的,表现方式是操作按钮或菜单的显示、隐藏和灰色显示。另一类资源叫做数据级资源。数据级资源是操作所有权的深化,有了操作的资源,不一定具有数据的资源。具体来说数据级资源指不涉及操作功能的、与用户处理或操作对象有关的数据的资源。此外,数据级资源是分等级的有层次的,通过对数据级资源等级的划分,就可以明确地定义对数据的所有权。
[0029]数据访问权限由资源控制,避免对数据库的权限设置,降低了系统的复杂性,同时保证了应用的灵活性。
[0030]管理用户对象权限并为其分配角色和资源,多个角色构成用户对象的角色集合属性,多个资源构成用户对象的资源集合属性,角色资源属性在角色集合属性变更时遍历所有角色包含的资源并获得资源集合,赋值给用户对象;
[0031]管理角色对象并为其分配角色和资源,多个角色构成角色对象的角色集合属性,多个资源构成角色对象的资源集合属性,角色资源属性在角色集合属性变更时遍历所有角色包含的资源,获得资源集合赋值给角色对象;
[0032]资源对象分为功能和数据两种类型,资源可以被直接分配给角色或用户,不可以分配给资源;
[0033]当用户访问功能或数据时,根据提供的资源ID在用户的资源集合及角色资源中进行比对,如有相同ID即允许否则不允许。
[0034]通过根据提供的资源ID在用户的资源集合及角色资源中进行比对判断用户权限。
[0035]用户对象与角色对象通过用户角色映射表确立关系、角色对象与资源对象通过角色资源映射表确立关系、用户系统通行证表确立用户对象与系统的关系。
[0036]系统采用了通用的数据结构模型来支撑安全模型及系统通行证,数据库的设计需要四张基本信息表:其中有用户表、角色表、资源表、系统表。用户对象与角色对象通过用户角色映射表确立关系、角色对象与资源对象通过角色资源映射表确立关系、用户系统通行证表确立用户对象与系统的关系。
[0037]在数据库中按图2所描述的数据结构建表,存储对象数据、映射数据对象。
[0038]按图3所示分配对象关系,管理角色对象为其分配角色并资源,角色对象的角色集合属性可以包含多个角色,同时角色对象的资源集合属性包含多个资源。角色资源属性在角色集合属性变更同时遍历所有角色包含的资源获得资源集合赋值给角色并保证资源的唯一性,以便于提高检索效率。角色对象可以包含子角色,角色关系可以是多层。子角色不能包含父角色,角色划分时需要遍历角色关系,避免已有归属关系的角色再次划分以降低关系网络的复杂度。管理用户权限为其分配角色并资源,用户对象的角色集合属性可以包含多个角色,同时用户对象的资源集合属性包含多个资源。角色资源属性在角色集合属性变更同时遍历所有角色包含的资源获得资源集合赋值给用户,并保证资源的唯一性,以便于提闻检索效率。
[0039]当用户访问功能或数据时,按图4所示进行访问权限和验证权限判断。根据提供的资源对象ID在用户的资源集合及角色资源中进行比对,如有相同对象ID即允许否则不允许。
[0040]按图5所示在真实的软件系统应用中,登录时进行用户对象实例化一次性获得用户的所有权限属性,减少对持久层对象的访问降低网络和数据库资源开销。如果用户实例化失败即用户没有注册或者系统运行故障,根据实际情况反馈结果。当用户发起活动时,系统提交相应的资源ID与用户对象所属资源集合进行比对,包含此ID系统响应活动否则提示无权限。在后台管理角色、资源等数据信息,关联映射用户、角色、资源关系为用户分配权限。
【主权项】
1.一种面向对象的用户角色资源权限模型管理方法,其特征在于,包括以下步骤: 建立用户、角色、资源三个对象; 在数据库中建立数据结构表; 用户对象与角色对象通过用户角色映射表确立关系、角色对象与资源对象通过角色资源映射表确立关系、用户系统通行证表确立用户对象与系统的关系; 当用户访问功能或数据时,根据提供的资源ID在用户的资源集合及角色资源中进行比对,如有相同ID即允许否则不允许。2.根据权利要求1所述的一种面向对象的用户角色资源权限模型管理方法,其特征在于,所述资源对象包括数据、功能两种类型。3.根据权利要求1所述的一种面向对象的用户角色资源权限模型管理方法,其特征在于,所述角色对象的属性有三种:角色集合、资源集合和角色资源对象集合;所述角色集合存储角色队列,所述资源集合存储资源队列,角色资源对象集合汇总角色所拥有的全部且唯一的资源对象。4.根据权利要求1所述的一种面向对象的用户角色资源权限模型管理方法,其特征在于,所述用户对象的属性有三种:角色集合、资源集合和用户资源对象集合;所述角色集合中存储角色队列,所述资源集合存储资源队列,用户资源对象集合汇总用户所拥有的全部且唯一的资源对象。5.根据权利要求1所述的一种面向对象的用户角色资源权限模型管理方法,其特征在于,所述角色对象包含子角色,角色关系是单层或多层。
【专利摘要】一种面向对象的用户角色资源权限模型管理方法,在安全模型中用户、角色、资源三种对象关系划分的基础上增加用户与资源的划分、角色与角色的划分。把对象的关系从树形结构拓展为网状结构。增加资源对象的属性,使权限不仅管理功能也能管理数据。利用算法的优化提高资源检索定位效率。新的方法使安全模型更加真实的反映现实情况,简化应用操作。同时把权限管理集中在MVC模式中的控制层,强调持久层与数据权限分离,即增加权限分配的灵活性又避免了系统的修改调整。
【IPC分类】G06F21/45, G06F21/60
【公开号】CN105653962
【申请号】
【发明人】刘峰, 于放, 高岑, 田月, 李岩
【申请人】中国科学院沈阳计算技术研究所有限公司
【公开日】2016年6月8日
【申请日】2014年11月14日