基于.NET的应用中实现RBAC访问权限控制方法技术

技术编号:4086305 阅读:538 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于.NET的应用中实现RBAC访问权限控制方法,包括步骤:接收登录用户的包括用户名及登录密码的用户登录信息;调用权限管理系统中的用户鉴别服务,验证登录用户;为验证通过的登录用户调用权限计算服务,根据登录用户的登录信息得出登录用户的权限关系表;将用户登录信息存储至该登录用户的全局Session中;将权限关系表存储至缓存中;使用菜单标签显示所述权限关系表所允许的功能菜单。本发明专利技术通过调用权限计算服务,根据登录用户的登录信息得出权限关系表,从而可以控制页面的显示。

【技术实现步骤摘要】

本专利技术涉及软件开发领域,更具体地说,涉及一种基于.NET的应用中实现RBAC访 问权限控制方法。
技术介绍
随着信息化的不断发展,基于.NET的应用的开发和使用已经变得越来越普遍。目前,基于.NET的应用开发中,其所采用的访问控制策略一般包括有自主型访问 控制方法、强制型访问控制方法和角色访问控制(RBAC,R0le-basedACCesS)方式。其中,自 主型访问控制方法太弱,强制型访问控制方法太强,而且,这两种访问控制方式工作量大, 不便于管理。RBAC方式的基本思想是将访问许可权分配给一定的角色,用户通过赋予不同的角 色获得角色所拥有的访问许可权。这是因为在很多实际应用中,用户并不是被访问信息资 源的所有者(这些信息属于企业或公司),这样的话,访问控制应该基于员工的职务,而不 是基于员工在哪个组或基于被访问信息资源的所有者,即访问控制是由各个用户在部门中 所担任的角色来确定的,例如,一个学校可以有教工、老师、学生和其他管理人员等角色。RBAC从控制主体的角度出发,根据管理中相对稳定的职权和责任来划分角色,将 访问权限与角色相联系,这点与传统的MAC和DAC将权限直接授予用户的方式不同;通过给 用户分配合适的角色,让用户与访问权限相联系。角色成为访问控制中访问主体和受控对 象之间的一座桥梁。角色访问控制方式不但可以减小授权管理的复杂性,降低管理开销;而且可以灵 活地支持企业的安全策略,并可以针对企业的变化具有很大的伸缩性,是目前解决大型企 业的统一资源访问控制的有效方法。由于用户和企业对安全性的重视程度越来越高,如何对部署在网络上的基于.NET 的应用实现RBAC访问权限控制,逐渐成为开发者关心的问题。
技术实现思路
有鉴于此,本专利技术实施例提供了一种基于.NET的应用中实现RBAC访问权限控制 的方法,从而实现访问权限的控制。为了实现上述目的,本专利技术实施例提供了如下技术方案一种基于.NET的应用中实现RBAC访问权限控制方法,包括步骤接收登录用户的包括用户名及登录密码的用户登录信息;调用权限管理系统中的用户鉴别服务,验证登录用户;为验证通过的登录用户调用权限计算服务,根据登录用户的登录信息得出该登录 用户的权限关系表;将用户登录信息存储至该登录用户的全局Session中;将权限关系表存储至缓存中;使用菜单标签显示所述权限关系表所允许的功能菜单。优选的,在本专利技术实施例中,所述权限关系表的得出具体为根据用户、用户组、角 色、操作、访问方式和资源对象之间的关联关系,以及权限的正负向授予计算出的用户的最 小权限。优选的,在本专利技术实施例中,使用SecuirtyManager. GetPowerO模块得出所述权 限关系表。优选的,在本专利技术实施例中,所述权限关系表为二元组。优选的,在本专利技术实施例中,所述权限关系表存储为以Hash-table的方式在本专利技术实施例中,为通过用户验证的登录用户调用权限计算服务,并根据登录 用户的登录信息得出该登录用户的权限关系表。将用户登录信息存储至该登录用户的全局 Session中;将权限关系表存储至缓存中;使用菜单标签显示所述权限关系表所允许的功 能菜单,从而实现了访问权限控制。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。图1为本专利技术实施例中所述方法的步骤流程图。 具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于 本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本专利技术保护的范围。为了能够更好的理解本专利技术实施例,下面先将角色访问控制方式的基本概念做一 下介绍。在角色访问控制方式中,角色可以看作是一组操作的集合,不同的角色具有不同 的操作集,这些操作集由系统管理员分配给角色。在下面的实例中,我们假设Tchl,Tch2,Tch3......Tchi 是对应的教师,Studl,Stud2, Stud3…Studj 是相应的学生,Mngl,Mng 2,Mng 3…Mngk是教务处管理人员,那么老师的权限为TchMN= {查询成绩、上传所教课程的 成绩};学生的权限为StudMN = {查询成绩、反映意见};教务管理人员的权限为MngMN = {查询、修改成绩、打印成绩清单}。那么,依据角色的不同,每个主体只能执行自己所制定 的访问功能。用户在一定的部门中具有一定的角色,其所执行的操作与其所扮演的角色的 职能相匹配,这正是基于角色的访问控制(RBAC)的根本特征,即依据RBAC策略,系统定义 了各种角色,每种角色可以完成一定的职能,不同的用户根据其职能和责任被赋予相应的 角色,一旦某个用户成为某角色的成员,则此用户可以完成该角色所具有的职能。本专利技术公开了一种基于.NET的应用中实现RBAC访问权限控制的方法,从而高效 的实现访问权限控制。具体包括以下步骤S11、接收登录用户的包括用户名及登录密码的用户登录信息;在用户登录时,首先要接收登录用户的登录信息,具体的可以是,接收用户在登录 界面输入的用户名和密码。S12、调用权限管理系统中的用户鉴别服务验证登录用户;为了保证登录用户的合法性,避免非法用户的入侵。接收到来自登录用户的用户 名和密码后,通过调用权限管理系统中的用户鉴别服务,验证该登录用户的合法性。S13、为验证通过的登录用户调用权限计算服务,根据登录用户的登录信息得出该 登录用户的权限关系表;当验证登录用户为合法用户后,调用权限计算服务,根据登录用户的登录信息得 出该登录用户的权限关系表,从而得到登录用户在应用中具体的权限范畴。在本专利技术实施例中,所述根据登录用户的登录信息得出该登录用户的权限关系 表,具体的方式还可以是根据登录用户的用户名、用户组、角色、操作、访问方式和资源对象 之间的关联关系,以及权限的正负向授予计算出的登录用户的最小权限。在本专利技术实施例 中,可以是在业务逻辑层使用SecuirtyManager. GetPowerO方法实现此服务。在本专利技术实 施例中,所述权限关系表可以为二元组。具体可以为{Resouceld,operationld}。S14、将用户登录信息存储至该登录用户的全局Session中;Session可以通过将用户登录信息存储在运行基于.NET的应用的服务器的内存 中,从而在整个用户会话过程中保持该用户的状态。S15、当将权限关系表存储至缓存中;在本专利技术实施例中,将权限关系表存储至缓存中。具体的,在本专利技术实施例中,所 述权限关系表可以存储为以Hash-table的方式。S16、使用菜单标签显示所述权限关系表所允许的功能菜单。由于权限关系表已经存储至缓存中;从而可以在登录用户访问基于.NET的应用 的资源时,根据所述权限关系表,使用页面权限控制标签控制页面的显示,根据登录用户的 不同权限,页面显示内容也不同,例如,普通用户访问某个页面时,如果该登录用户对于特 定的资本文档来自技高网
...

【技术保护点】
一种基于.NET的应用中实现RBAC访问权限控制方法,其特征在于,包括步骤:接收登录用户的包括用户名及登录密码的用户登录信息;调用权限管理系统中的用户鉴别服务,验证登录用户;为验证通过的登录用户调用权限计算服务,根据登录用户的登录信息得出该登录用户的权限关系表;将用户登录信息存储至该登录用户的全局Session中;将权限关系表存储至缓存中;使用菜单标签显示所述权限关系表所允许的功能菜单。

【技术特征摘要】
一种基于.NET的应用中实现RBAC访问权限控制方法,其特征在于,包括步骤接收登录用户的包括用户名及登录密码的用户登录信息;调用权限管理系统中的用户鉴别服务,验证登录用户;为验证通过的登录用户调用权限计算服务,根据登录用户的登录信息得出该登录用户的权限关系表;将用户登录信息存储至该登录用户的全局Session中;将权限关系表存储至缓存中;使用菜单标签显示所述权限关系表所允许的功能菜单。2.根据权利要求1所述方法,其...

【专利技术属性】
技术研发人员:李艳贞李平孙呈梅
申请(专利权)人:山东中创软件工程股份有限公司
类型:发明
国别省市:88[中国|济南]

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

1