一种资源访问控制方法技术

技术编号:9871116 阅读:143 留言:0更新日期:2014-04-04 00:01
本发明专利技术公开了一种资源访问控制方法,包括如下步骤:用户基本信息输入;用户合法性验证;获取通过验证的合法用户在角色列表中的ID;根据用户在角色列表中的ID并结合角色-权限指派结果信息,查找资源-权限结构表的控制域,如果用户具有资源访问权限,则提取权限字符串与相对应资源权限列表,动态生成权限树并初始化窗口。本发明专利技术能更好地对角色进行动态分配权限,使得软件系统用户能够直观、方便、快捷地与系统进行交互;降低数据库查询时间,减轻空间消耗,消除应用系统对超级用户的依赖,有效保障系统的安全性。

【技术实现步骤摘要】

本专利技术涉及,尤其是涉及一种基于FLEX与.NET的B/S应用中实现资源访问的控制方法。
技术介绍
一般而言,信息资源传递过程中,最为关心的三个问题是“哪些资源需要得到保护”,“哪些主体可以访问被保护的资源”,“这些被授权的主体对受保护资源可以进行哪些操作”,三类问题分别对应了三类资源,即主体、客体和权限,实质上访问控制是通过主体、客体以及控制策略实现对系统资源管理与访问限制,防止非法用户进入系统对信息资源的破坏、非法使用以及利用资源信息进行违法活动。要想解决上述问题,有三类访问控制技术可以应用,包括访问控制列表(Access Control Lists, ACL)模型、强制访问控制(Mandatory Access Control, MAC)以及基于角色的访问控制(Role-Based AccessControl, RBAC)安全访问控制模型。ACL访问控制模型是通过列表进行管理,一个简单的ACL是一个由一行实体与一列系统资源信息构成的数组,如果数据量庞大时,系统安全方面得不到保障,因此,ACL访问控制在网络系统中不能实现统一全局的安全控制;强制访问控制模型(MAC)系统一旦建立,那么系统独立于用户行为强制执行访问控制,用户不能改变它的安全级别或者对象的安全属性,在强制访问控制系统中以“秘密”的安全级别操作,主体与客体被分配到权限的同时,也被分配了安全级别,若用户在目标系统中以“秘密”的安全级别操作,它将不能访问系统中安全级别为“机密”的系统服务。使得应用领域比较狭窄,完整性方面不够。为此,在1992年,Sandhu针对信息管理与信息安全完整性的基础上提出了基于角色的访问控制(Role-based Access Control, RBAC)模型,RBAC是一种基于用户所在组织的责任进行系统资源访问的控制策略;其核心是设定用户与角色之间的授权讨论,以角色-权限指派作为基点,利用信息资源管理模块独立于用户-角色,根据用户操作与资源信息无关特性,不仅明确了用户性质,同时也满足了资源权限不会随着用户变化而变化,使得系统在应用方面具备了高效管理,灵活授权等特点。对于网络系统而言,RBAC通过分布式技术能够实现区域之间角色分配与授权管理,进一步加强系统管理的稳定性与灵活性,是目前解决大中型企业的信息资源的集中管理与分布式访问的重要方法之一。实际应用中利用现有的RBAC模型在一定程度上减轻了授权管理负担,但是还存在如下缺点: 1)在授权过程中,为用户分配角色,为角色授予权限的工作量仍然很大; 2)在大型系统中存在权限粒度与角色数量的矛盾。权限数量越少,角色数量越多,角色数量的增长与权限粒度的细化成指数增长; 3)RBAC本质上是一个被动安全控制模型,缺乏灵活的动态授权机制。
技术实现思路
为了克服现有技术的上述缺点,本专利技术提供了,以RBAC访问控制模型为基础,引入动态权限树与Linux内核进程控制中“能力”概念,结合XML数据格式与数据库权限表协作实现资源权限的访问控制。引入动态权限树是为了更好地对角色进行动态分配权限,使得软件系统用户能够直观、方便、快捷地与系统进行交互,而引入Linux内核进程控制中“能力”概念是为了降低数据库查询时间,减轻空间消耗,消除应用系统对超级用户的依赖,有效保障系统的安全性。本专利技术解决其技术问题所采用的技术方案是:,包括如下步骤: 步骤一、用户基本信息输入; 步骤二、用户合法性验证; 步骤三、获取通过验证的合法用户在角色列表中的ID ; 步骤四、根据用户在角色列表中的ID并结合角色-权限指派结果信息,查找资源-权限结构表的控制域,判断该用户是否具有资源访问权限:如果无,则返回步骤一;如果有,则提取权限字符串与相对应资源权限列表,进入步骤五; 步骤五、动态生成权限树并初始化窗口。与现有技术相比,本专利技术的积极效果是: 1)通过FLEX的HttpService通讯方式读取服务器端CONFIG.XML配置文件与数据库协作方法,对RBAC权限模型描述更准确方便,当系统的需求发生变化时,只需要修改配置文件CONFIG.XML,不需要修改代码,减轻了软件开发人员的开发负担; 2)在RBAC访问控制模型基础上,引入Linux内核进程控制中“能力”概念:包含一种资源控制域中二进制标识符,每一个能力用一位二进制来标识,其中:“1”表示拥有访问权限的能力,“O”表示没有访问资源的能力;根据角色-权限-资源关联关系,其关系数据表的控制域中的二进制值判别用户权限。有益之处在于:采用二进制位设计权限访问可以使每一个角色Role在数据库中只对应一个唯一二进制字符串,当根据用户ID查找匹配的资源权限时,只需检查数据库角色-权限关系表的资源控制标志位,就可以查找到相应的活动资源,充分地降低数据库查询时间,减轻空间消耗,消除应用系统对超级用户的依赖,有效保障系统的安全性。3)在RBAC访问控制基础上,引入动态权限树对角色进行动态分配权限,动态权限树的存储结构使用了一种先进先出的队列(Queue)与一种散列哈希表(Hash table)。有益之处在于:a).系统资源与菜单关联,在存储资源过程中利用队列存储方式;先将资源权限树的叶子节点入队,然后将这些叶子节点的父节点递推入队,既没有遗漏有效的资源节点,亦没有将无效的资源节点和它的父节点入队,提高了资源搜索效率;b).在通过上述队列算法生成的每一颗资源权限树的叶子节点的同时,并临时存储在哈希表中,当队列算法结束后,遍历整个哈希表,将每颗子树插入到根节点,拼成完整的权限树,哈希表的高效查找效率,使得软件系统用户能够直观、方便、快捷地与系统进行交互。【附图说明】本专利技术将通过例子并参照附图的方式说明,其中: 图1为本专利技术方法的步骤流程图。【具体实施方式】本专利技术通过在RBAC模型上引入动态权限生成树与Linux内核基于二进制能力的概念实现对资源的集中管理、资源授权更加方便快捷。为了更好地理解本专利技术,下面将权限管理的设计思想做一个基本的介绍。RBAC(Role-based Access Control,角色访问控制模型)模型是当前应用最为广泛的一种权限管理模型。该模型具有权限管理工作量小,灵活简单和伸缩力强等特点,并以角色为核心,使用角色解耦权限和用户关系。管理员将权限分配给角色,然后再为用户分配适当的角色,这样用户通过角色媒介拥有了资源的权限。本专利技术引入动态权限树与Linux内核基于二进制能力的概念进行了权限分配管理,在设置权限时,管理员只需要勾选CheckBox即可实现权限赋予角色,当该角色下的用户访问系统资源时,首先访问数据库权限表,通过动态权限生成树算法从叶节点搜索遍历父节点以及所做的祖先节点,读入权限配置文件Config.xml文件,通过XML配置文件的分层结构完成不同用户、不同角色登陆系统后根据其权限不同在用户页面上生成各自的权限树。具体包括以下步骤: 步骤1:用户基本信息输入(包括ID与密码)。(I)本方法采用单点登陆技术作为所有应用的网关,用户只登录一次,使用一个用户ID和密码,登陆多个应用、系统或者Web网站; (2)在使用单点登录之前,用户必须输入用户ID和密码,通常每个都不相同,每次登录到同一个Session的不同本文档来自技高网
...

【技术保护点】
一种资源访问控制方法,其特征在于:包括如下步骤:步骤一、用户基本信息输入;步骤二、用户合法性验证;步骤三、获取通过验证的合法用户在角色列表中的ID;步骤四、根据用户在角色列表中的ID并结合角色‑权限指派结果信息,查找资源‑权限结构表的权限控制域,判断该用户是否具有资源访问权限:如果无,则返回步骤一;如果有,则提取权限字符串与相对应资源权限列表,进入步骤五; 步骤五、动态生成权限树并初始化窗口。

【技术特征摘要】
1.一种资源访问控制方法,其特征在于:包括如下步骤: 步骤一、用户基本信息输入; 步骤二、用户合法性验证; 步骤三、获取通过验证的合法用户在角色列表中的ID ; 步骤四、根据用户在角色列表中的ID并结合角色-权限指派结果信息,查找资源-权限结构表的权限控制域,判断该用户是否具有资源访问权限:如果无,则返回步骤一;如果有,则提取权限字符串与相对应资源权限列表,进入步骤五; 步骤五、动态生成权限树并初始化窗口。2.根据权利要求1所述的一种资源访问控制方法,其特征在于:步骤三所述获取通过验证的合法用户在角色列表中的ID的方法如下: (1)用户登陆成功后,创建用户ID的session,提取用户标识符和角色权限的信息存入到创建的session中; (2)Session会话将用户基本信息存储在.NET应用服务器上,通过Session中保持的用户基本信息,获取该用户拥有的角色,提取角色ID,并保持该用户在会话过程中的活动状态。3.根据权利要求1所述的一种资源访问控制方法,其特征在于:步骤四所述资源-权限结构表包括:资源集合、权限特征码、权限特征值以及权限计算方法。4.根据权利要求1所述的一种资源访问控制方法,...

【专利技术属性】
技术研发人员:许军刘念林王德鹏李汶隆
申请(专利权)人:四川九洲电器集团有限责任公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1