RBAC权限(通用7篇)
RBAC权限 篇1
0 引言
精品课程建设是国家教育部为推进高校教学内容改革,教学模式创新,加强现代教育技术在教学中的应用,促进高校优质教学资源的共享而推行的高等学校教学质量与教学改革工程的重要内容。精品课程建设的核心是解决好课程内容建设问题,而课程资源建成后的共享与应用是关键点和落脚点[1]。因此精品课程上网,通过网站建设实现课程资源的共享即已成为精品课程的必需环节。
精品课程网站建设涉及到把与这一门课程相关的资源上传至互联网。这些资源可分为课程简介、教学团队、教学大纲( 课程大纲、实践大纲) 、授课教案、作业习题、实训天堂、授课影相、模拟自测试题、自主拓展学习、教学效果等。这些内容由一个教学团队搜集整理创作出来,并上传到精品课程网站上。浏览网上的精品课程网站可以发现,很多课程网站内容都落后陈旧,甚至还有些仍停留在申报时的阶段,与精品课程建设的主旨难以相符。究其根由,除了“重申报、轻建设、经费不到位”等方面作用,精品课程网站内容建设分工不明、权责不清,未能发挥集体协作与长效管理机制等也是其发展过时、且延滞的重要原因。
本文通过分析精品课程建设中所涉及到的各类人物与角色,明确其在精品课程网站上的应用权限与担负职责,并在精品课程网站设计过程中引入RBAC权限管理模型,旨在针对精品课程建设中身处不同角色的各型用户实施和执行特色有效的管理,从而使系统管理员、课程负责人、主讲教师、学生、访客,这些不同的角色用户均能按照系统赋予的权限获得最佳管理并优化课程资源利用,如此即可推动精品课程网站能够实现长期稳健的运转及运行。
1 RBAC模型
权限管理分自主型、强制型和基于角色的访问控制等[2]。其中,自主型访问控制,控制方式太弱; 强制型访问控制,设置复杂、不灵活; 基于角色的访问控制( RBAC) 则由NIST( 美国国家标准与技术研究院) 提出。通过在用户与权限直接引入角色,权限不直接赋予用户,权限仅是赋予角色,用户将会属于一个或多个角色,具体的模型原理如图1所示。
完整的RBAC模型可分为4 个部分[4],图1 是基本模型RBAC0( Core RBAC ) ,其下还包含角色分级模型RBAC1( Hierarchal RBAC) 、角色限制模型RBAC2( Constraint RBAC)和统一模型RBAC3( Combines RBAC) 。在此,给出其对应相关介绍如表1 所示。
2 精品课程网站建设中的角色分析
精品课程建设研究是指一个教学团队围绕这一门课程进行相关资源配设组合的完整过程。通过分析,不难发现精品课程网站中至少有4 种角色的用户[5]: 系统管理员、课程管理员( 课程负责人) 、栏目管理员( 主讲教师) 、访客用户。其中,系统管理员是网站的初始用户,权限范围是可以添加课程与课程负责人,管理网站上的非课程资源如导入教师信息、管理访客留言、设置网站的显示效果等。课程负责人给团队成员分配课程资源管理权限,一般按栏目分类。团队成员负责资源建设与更新,同时也可以协助课程负责人管理课程。各种角色实体间的关系可以用图2 简单表示。
3 精品课程网站的权限设计
3.1 设计思路
系统的研制要满足实用性、可靠性和安全性。精品课程网站的权限设计要完成用户登录控制、栏目管理、资源建设与更新、课程内容的访问监控、网站用户及用户权限的分配等具体功能。从项目的实际需求和安全性及实用性等方面综合考虑,精品课程网站的权限设计采用RBAC0 模型。该模型包含5 个部分,研究中分别设计为用户表( User) 、角色表( Role) 、用户角色分配表( User_Role) 、权限表( Permission) 、权限角色分配表( Permission_Role) ,其ER图如图3 所示。
如图3 所见,模型中用户包括课程负责人、课程建设参与者、上课的学生、访客等。角色将包括管理员、教师、学生、课程负责人等。权限则涉及到了网站资源、网站栏目、课程资源及用户访问的操作管理。这里的权限设置可以相对简单一些,把RBAC0 中的操作和控制对象糅合在一起。因为精品课程网站在对课程资源的管理上不需要深入至非常细粒度,通过分别控制一个资源的“增查删改”行为模式,将完全可以把控制的粒度限定在资源上,从而一次性把这个资源的权限赋予某个角色。如课程视频的管理,其所有权限即均属于一个组。因此研究中的权限表主要是指网站资源分类。权限角色分配表,则主要用于存储各类角色都可以管理和控制哪些网站资源。
3.2 功能实现
研究中,课程网站整体结构采用时下流行的三层结构,分别是: 表现层、业务逻辑层、数据访问层。具体实现中,数据访问可以采用ORM框架简化研究工作。权限管理将主要涉及的是业务逻辑层与表现层。
在表现层,研究定义了页面基类Page Base,而在页面的装载事件On Load中则会进行用户的权限判断,只有被赋予相应权限的用户才能访问该页面。如课程团队的教师登录后台后,只能实施课程资源方面的管理,当发生访问网站全局设置的页面行为时就会提示“权限不足,无法访问”。
在业务逻辑层,用户需要对用户操作的资源对象进行判断,只有赋予了管理权限的资源对象用户才能访问。如栏目管理员,在添加栏目内容时,获得栏目列表的Get Column List函数就要从数据访问层中获得的栏目列表中进行筛选,只有赋予了管理权限的栏目才可提供相应显示; 同时,在把内容添加回数据库时也要判断当前操作员是否具备管理该栏目的权限,从而防范发生机器非法恶意提交。
4 结束语
本文通过对精品课程建设中的用户与建设共享资源进行分析,并采用RBAC权限管理模型实现了精品课程网站的权限管理,由此保证了精品课程网站上的资源安全,同时也确保了课程资源建设中团体性与协作性的有效发挥,做到了职责分明、分工到位,在实际应用中获得了良好的发生执行效果。
参考文献
[1]唐阿涛.国家精品课程建设现状及代价分析[D].苏州:苏州大学,2009.
[2]吴波,王晶.基于基本RBAC模型的权限管理框架的设计与实现[J].计算机系统应用,2011,20(4):50-54.
[3]倪东英,张晓丽.基于RBAC的用户权限管理的设计与实现[J].济南大学学报(自然科学版),2010,24(2):167-171.
[4]OSBORN S.Role-based access control[J].Access Control Systems,2006,4(3):190-251.
[5]焦慧华,李湘一,肖群.基于协作关系高校精品课程统一平台的设计[J].智能计算机与应用,2015,5(3):81-83,87.
RBAC权限 篇2
关键词:软件即服务,基于角色访问控制,访问控制,模型
0 引言
Saa S系统可以定义为“将软件部署为服务并通过Interne进行访问”的系统,是单实例、多用户体系结构、基于Internet访问的系统。系统中每个环节都可能受到安全威胁。为了确保系统中数据的安全性、一致性、完整性,使客户能够放心地将具有重要性、机密性的商业数据交给Saa S服务提供商进行管理和控制,在开发一个Saa S系统的过程中,作为Saa S系统的重要组成部分———权限管理模块变得尤为重要。本文在研究基于角色的访问控制(RBAC)模型的基础上,提出了Saa S系统的一种权限管理模型。
1 RBAC模型研究
访问控制是针对越权使用资源的防御措施。基本目标是为了限制访问主体(用户、进程、服务等)对访问客体(文件、系统等)的访问权限,从而使计算机系统在合法范围内使用;决定用户能做什么,也决定代表一定用户利益的程序能做什么。企业环境中的访问控制策略一般有三种:自主型访问控制方法、强制型访问控制方法和基于角色的访问控制方法。其中,自主式太弱,强制式太强,二者工作量大,不便于管理。基于角色的访问控制方法是目前公认的解决大型企业的统一资源访问控制的有效方法。其基本原理是在用户和访问权限之间加入角色这一层,实现用户和权限的分离,用户只有通过激活角色才能获得访问权限,提高了防护的力度。同时通过角色对权限分组,大大简化了用户权限分配表,间接地实现了对用户的分组,提高了权限分配的效率。而且加入角色层后,访问控制机制更接近真实世界中的职业分配,便于权限管理,提高了灵活度。其显著的两大特征是:(1)减小授权管理的复杂性,降低管理开销;(2)灵活地支持企业的安全策略,并对企业的变化有很大的伸缩性。美国国家标准与技术研究院NIST(The National Institute of Standards and Technology)标准RBAC模型由四个部件模型组成,这四个部件模型分别是基本模型RBAC0(Core RBAC)、角色分级模型RBAC1(Hierarchal RBAC)、角色限制模型RBAC2(Constraint RBAC)和统一模型RBAC3(Combines RBAC)[1]。RBAC0模型如图1所示。
RBAC0定义了能构成一个RBAC控制系统的最小的元素集合。在RBAC之中,包含用户(USERS)、角色(ROLES)、目标(OBS)、操作(OPS)、许可权(PRMS)五个基本数据元素,权限被赋予角色,而不是用户,当一个角色被指定给一个用户时,此用户就拥有了该角色所包含的权限。会话sessions是用户与激活的角色集合之间的映射。RBAC0与传统访问控制的差别在于增加一层间接性带来了灵活性,RBAC1、RBAC2、RBAC3都是先后在RBAC0上的扩展。
RBAC1引入角色间的继承关系,角色间的继承关系可分为一般继承关系和受限继承关系。一般继承关系仅要求角色继承关系是一个绝对偏序关系,允许角色间的多继承。而受限继承关系则进一步要求角色继承关系是一个树结构。
RBAC2模型中添加了责任分离关系。RBAC2的约束规定了权限被赋予角色时,或角色被赋予用户时,以及当用户在某一时刻激活一个角色时所应遵循的强制性规则。责任分离包括静态责任分离和动态责任分离。约束与用户-角色-权限关系一起决定了RBAC2模型中用户的访问许可。
RBAC3包含了RBAC1和RBAC2,既提供了角色间的继承关系,又提供了责任分离关系。
通过上面对RBAC模型的研究,在RBAC模型中,访问控制都与角色相关,系统权限控制都通过角色来实现,权限粒度不够细化,权限层次不够清晰,不能很好地区分系统功能操作控制与系统数据访问控制。基于这些问题的考虑,提出了一种新型的权限管理模型———基于RBAC的分层控制模型。
2 Saa S系统的权限模型
随着社会的不断发展、竞争的不断加剧、社会分工的不断细化、企业之间的合作不断加强、业务的灵活性不断增强,企业对系统数据的安全性要求越来越高,原有基于单一角色的粗放式系统权限管理模式已不能满足现在用户的需要,需要对系统权限管理进行细化,实行更精细化的管理。根据对Saa S系统的分析了解,运用分层控制的思想对Saa S系统的权限管理实施多层访问控制,能够确保系统的安全性和数据访问的灵活性。分层控制的思想是基于RBAC模型的权限设计思想,对RBAC模型进行了部分改良和扩展。把Saa S系统的权限管理模型划分为系统许可证权限管理、系统功能操作控制管理、系统数据访问控制管理三个层次;引入许可证、岗位、组织机构(部门、小组、虚拟团队)等数据实体,并定义岗位与用户、用户与不同组织机构等实体之间的关系。其总体模型如图2所示。
Saa S系统权限管理模型包含的基本元素主要有:用户、小组、角色、资源、操作、岗位、许可证、虚拟团队、部门、组织、权限。主要的关系有:分配角色权限、分配用户角色、分配用户岗位、分配组织许可证、分配权限操作、分配操作资源、分配小组到不同组织机构。其形式化描述可以从系统许可控制、系统功能操作控制、系统数据访问控制三个层次对其进行描述。
2.1 系统许可证控制
定义1许可证许可证一般分为用户许可证和功能许可证。用户许可证控制访问系统的用户数,功能许可证控制访问功能模块的用户数。
定义2分配组织许可证实现组织和许可证之间多对多的关系。即一个组织可以拥有多个许可证,一个许可证可以分配给多个组织。
2.2 功能操作控制
功能操作控制层主要表示用户对系统功能和系统资源两个层面的访问控制。用户可以访问哪些系统功能,怎样访问这些功能;用户可以操作哪些系统资源,怎样操作这些资源。系统功能的访问控制和系统资源的访问控制最终反映到对系统页面的控制。一个用户拥有怎样的页面访问权限也就具有相应的系统功能及系统资源访问权限。操作控制层主要涉及到数据实体:用户、角色、权限、操作、资源;数据实体关系:用户角色分配、角色权限分配、权限操作、操作资源等。其模型如图3所示。
定义3资源是系统所要保护的,可以被访问的对象。
定义4角色角色对应于某一特定的工作岗位,是一组可执行任务的集合。在视图层面的控制,表现为角色的赋予,不同角色具有不同的功能视图。用户根据被赋予的角色个性化地使用系统。系统用户看到的页面视图范围为该用户所具有的所有角色所定义的视图的总和。其关系图如图4所示。
定义5权限权限是对计算机系统中的一个或多个数据对象进行某种方式访问的许可权,是数据操作任务访问数据资源的接口。权限分配的单位与载体,用来定义用户执行各种功能的权限。同时,还用于控制用户看到的各种页面布局和选项卡。
定义6用户是权限的拥有者或主体。用户和权限实现分离,通过授权管理进行绑定。
定义7操作完成资源的类别和访问策略之间的绑定。
定义8会话一个会话是一个用户对多个角色的映射,当用户激活了部分或全部他被授予的角色时,他就建立了一个会话,用户实际上可以执行的任务是在这次会话期间被激活的角色的任务集。
定义9分配角色权限(PA)权限配置表示权限和角色之间多对多的分配关系,即一个角色可以被授予多个权限,一个权限可以分配给多个角色。
定义10分配用户角色(UA)分配用户表示用户和角色之间多对多的分配关系,即一个用户可以被授予多个角色,一个角色可以分配给多个用户。
定义11分配权限操作分配权限操作表示权限与操作之间多对多的分配关系,即一个权限可以包含多个操作,一个操作可以分配给多个权限。
定义12分配操作资源分配操作资源表示操作与资源之间多对多的分配关系,即一个操作可以对应多个资源,一个资源可以分配给多个操作。
2.3 数据访问控制
现代企业内部之间的协作不断加强,企业之间的合作越来越紧密,根据不同的业务活动需要,在企业部门内部、企业部门之间、企业之间设立了不同的小组、虚拟组织等工作组织形式,有些组织中的员工虽然具有相同的功能操作权限,但具有不同的数据访问权限,这需要系统对数据访问进行严格、灵活的控制,数据访问控制层能很好地解决这些问题。数据访问控制层主要是对系统数据访问进行控制,控制系统数据的访问权限及数据的共享权限。不同级别用户群体具有不同的数据访问权限;不同机构用户群体具有不同的数据共享权限。其模型如图5所示。
定义13岗位是一个企业的某个部门的职位(相当于在部门下有相同职能的员工的集合),它隶属于某个具体的部门,并且可以有一个或多个员工在岗位上任职。一般情况是一人一岗,同时提供一人多岗的功能,以完成权限在数据层面的灵活控制。一个系统用户如果有两个岗位,那么他只能看到当前岗位下的数据,通过岗位切换,可以达到查看所属其它岗位下的数据信息。另外岗位有上下级关系,上级可以查看下级的数据,下级不能访问上级的数据,平级之间不能互相访问。其关系图如图6所示。
定义14用户是权限的拥有者或主体。用户和权限实现分离,通过授权管理进行绑定。
定义15组织机构根据不同用户属性划分的用户群体。在一个企业内部可以划分为部门、小组等不同组织形式;在企业之间可以划分为小组、虚拟团队等不同组织形式。一个部门可以划分多个小组,一个小组可以包含多个用户;部门跟用户存在一对多的关系,用户小组跟用户存在多对多的关系。组织机构与用户之间的关系具有多样性、灵活性,根据不同的业务活动需要可以进行细化。
定义16分配用户岗位表示用户与岗位之间多对多的分配关系,即一个用户可以拥有多个岗位,一个岗位可以分配给多个用户。
3 结束语
本文论述了一种基于RBAC模型的Saa S系统权限管理模型的研究。该权限管理模型已成功应用于系统的设计和开发实践,与应用系统具有很好的集成。实践表明,采用基于RBAC模型的新系统权限管理模型表现出以下优点:(1)采用分层思想实现权限管理,有利于权限控制与管理。(2)权限分配直观、容易理解,便于使用。(3)扩展性好,支持岗位、权限多变的需求。(4)通过资源的细分,为系统提供了不同粒度的权限控制。特别是将权限粒度控制到页面一级,并通过不同用户到不同页面的映射,可以实现用户界面的定制,实现了更大的灵活性。
RBAC权限 篇3
随着企业信息管理系统的逐渐发展,数据权限的需求日益增加,在一个企业信息管理系统里,可能涉及到多类用户,每类用户对应着不同的数据访问范围。RBAC并不能很好的满足复杂的数据权限控制的需求。本文在RBAC模型的基础之上,提出了一个加强数据权限管理的数据权限模型,满足对复杂数据权限控制的需求。
1 基于角色的权限控制模型
RBAC的核心思想是将权限与角色联系起来,在系统中根据应用的需要为不同的工作岗位创建相应的角色,同时根据用户职责指派合适的角色,用户通过指派的角色获得相应的权限,实现对文件的访问。也就是说,传统的访问控制是直接将访问主体(发出访问操作,有存取要求的主动方)和客体(被调用的程序或欲存取的数据访问)相联系,而RBAC在中间加入角色,通过角色沟通主体和客体,角色的目的就是为了隔离用户和权限。角色作为一个用户与权限的代理层,解耦了权限和用户的关系,所有的授权应该给予角色而不是直接给用户,从而实现了用户与访问权限的逻辑分离。1996年,Sandhu发布了RBAC96的RBAC通用模型族。文献[5]介绍了一些基于角色系统的开发框架。图1显示了通用模型族中最通用的模型。
用户和角色之间是多对多的关系,一个用户可以被赋予若干角色,一个角色也可以被赋予若干个具体用户。同样角色和权限之间也是多对多的关系,一个角色可以具有多项权限,一个权限也可以赋予多个不同的角色。某系统的操作用户,可以通过他所具有的角色的权限来判断其可访问的系统资源和对系统资源可以进行的操作,这就是RBAC最基本的工作原理。
RBAC的描述如下:
u:User用户;
r:Role角色;
p:privilege权限。
此时,如果某个用户u对某个业务对象o具有的权限记为P(u,o),则有如下关系:
P(u,o)=Pr(r(u),o)
其中,Pr(r(u),o)是通过用户u所赋予的角色r对业务对象o的权限。
大型企业系统一般功能庞大复杂,不同身份和岗位的用户对系统模块功能的使用权限不同。这种基于角色的权限控制模型可以直接将企业组织结构映射到信息系统中,使得对用户权限的管理更加直观、方便和统一,在很大程度上简化了权限管理工作。
2 基于RBAC的数据权限模型
2.1 模型设计
在企业应用系统中,由于用户量大、用户层次结构复杂、业务对象庞杂,权限涉及到比较复杂的功能权限和数据权限,其中功能权限可以是一个按钮或者链接,而数据权限则是对不同层次用户的不同数据范围的限制,假设功能权限的数量为m,数据权限的数量为n,在RBAC模型中,对于完全的权限管理需要有m*n种权限关系,在大型的企业信息管理系统中,随着功能数量的增加,角色权限的配置非常庞大而复杂,并且一旦需要改变数据权限的类型数量,将需要对权限表做较大的调整,因此不具有良好的可扩展性。
针对上述问题,本文在角色的权限控制模型的基础之上,设计了一个新的数据权限模型如图2所示。
数据权限模型将权限划分为功能权限和数据权限,对功能权限和数据权限分别设置不同的角色,分别为数据角色和功能角色。为用户不仅需要赋予功能角色,同时也需要赋予数据角色。用户需要访问一个模块时,不仅要取得该模块对应的功能角色的权限,还要取得该模块对应的数据角色的数据权限,才可以访问该模块功能下的数据。
模型中将角色分为了类型角色,用户与角色关系变为了用户功能角色的关系和用户与数据角色的关系,虽然对用户角色赋予的工作量增加了,但是解耦了角色与功能权限、数据权限之间的关系,使得完全权限集仅需要包含m+n个权限即可。假设数据权限类型数量增加为n+x,则完全权限集只需增加为m+n+x即可,而RBAC模型中完全权限集所对应的m*(n+x)=m*n+m*x,同理,当功能权限增加为m+x时,完全权限集也仅增加为m+n+x,而RBAC模型中完全权限集所对应的(m+x)*n=m*n+n*x。这使得数据权限模型随着系统数据权限的变更具有更少的变动,具有更好的可扩展性,减少了功能权限和数据权限的增加为角色权限维护带来的大量的增改工作。在实际操作中,也可以使用户的角色赋予更加清晰,达到更为简洁的角色权限控制。
2.2 模型实现
数据权限模型的权限控制系统采用普遍的三层架构,包括表示层、业务层和数据层。其中数据层是由数据库系统组成,权限管理则以数据库作为基础来进行。数据库的设计结构如图3所示。
用户通过“用户-功能角色”和“用户-数据角色”建立起动态的对应关系,功能角色与“功能角色-模块-按键”建立动态的对应关系,数据角色则与“数据角色-模块-数据范围”建立动态的对应关系,通过这种动态的对应关系可以更简便的建立用户与功能权限和数据权限之间的对应关系。
用户授权的实现通过共九个部分实现,包括用户管理、模块管理、模块按键管理、模块数据范围管理、功能角色管理、数据角色管理、功能角色模块按键对应表管理、数据角色模块数据范围对应表管理、用户功能角色和数据角色分配管理。
其中模块按键和模块数据范围的实际应用中随着系统模块的增减而改变,维护量仅随着系统模块的增减以及数据权限范围的变化而线性变化。而用户授权部分由用户管理、功能角色管理、数据角色管理和用户功能角色和数据角色分配管理实现,根据实际需求,为用户需要访问的菜单模块和此菜单模块下访问的数据范围分配角色,可以实现方便快捷的实现权限管理。
具体的系统实现流程为:页面模块读入时,根据用户ID获取用户的功能权限和数据权限,根据功能角色判断用户对该页面模块的访问权限,获取通过后,判断该用户的数据权限,并将数据权限键值存储到Session中,在用户使用按键时,判断根据Session中的数据权限范围,将其注入到SQL查询语句中,此时只需要将一定的范围限制语句作为一个封装的方法加入到SQL语句中,即可实现对数据访问范围的控制,当用户在该模块下的数据权限范围发生变化时,只需在改变用户在该模块下的数据权限范围,并不需要改变数据访问层的代码。如果系统需要修改数据权限范围,只需改变对数据权限限制语句所封装的方法,即可实现对数据权限的修改,有效的减少数据访问层代码的修改。
此数据权限模型可以广泛适用于大型企业管理系统中的权限管理,特别适合于类似于具有省、市、部门、个人多级数据权限控制范围需求的应用系统权限管理,可以灵活的增加不同层次范围的数据控制需求,对于后期的用户角色权限授权管理比较方便。
3 结束语
权限管理是企业应用系统中重要组成部分,权限管理的技术和策略对系统的信息安全影响很大。数据权限的管理属于权限管理的一个重要组成部分,是影响系统的信息安全的重要因素。针对于传统的RBAC模型存在的数据权限管理方面的不足,本文提出的一种基于RBAC的数据权限模型的设计与实现方法,是在RBAC96模型理论基础上提出,并在实际应用中进行了验证,满足了数据权限和功能权限双重控制的需求,降低了权限管理和维护的复杂性。对开发类似的多组织层次的应用系统管理功能模块具有一定的参考价值。
参考文献
[1]王延彬,许林英,杨海琛.OA系统中基于角色的用户权限管理[J].微处理机.2008.
[2]肖军模,刘军,周海刚.网络信息安全[M].北京:机械工业出版社.2003.
[3]周文峰,尤军考,何基香.基于RBAC模型的权限管理系统设计与实现[J].微计算机信息.2006.
[4]Sandhu R S,Coyne E J,Feinstein H L,et al.Role-based AccessControl Models[J].IEEE Computer.1996.
RBAC权限 篇4
数据仓库的数据建模方法主要有Inmon倡导的第三范式建模方法和Kimball提出的维度建模方法。其中维度建模方法可以更好地展现多维数据关系, 因此本系统采用维度建模方法进行数据建模。此外, 数据库安全一直都受到广泛关注, 基于角色的访问权限管理 (RBAC, role based access controls) 被普遍认为是当前最具有发展潜力的访问控制策略。因此, 在数据建模过程中以RBAC为基础进行系统权限管理模型的设计。
1 货物进出口系统维度建模设计
维度建模是一种逻辑设计技术, 本系统采用雪花型模型和星型模型来建立数据仓库的逻辑模型, 在数据模型中主要设计两类表。
(1) 维度表:描述主题的特征信息。在系统分析模型中, 企业关心产品销售量随时间推移而发生的变化, 时间就是一个维。系统中比较规则的分析角度主要包括:时间维表, 月份维表, 年度维表, 计量单位维表, 商品代码变化维度表, 贸易方式维表, 经营单位维表, 进出口类别维表等。
(2) 事实表:维度模型的基本表, 存放业务性能度量值。事实表主要包括进出口事实表和汇总表。
系统的设计除了要考虑业务数据建模之外, 还要考虑系统的安全性。一个大型系统要求RBAC模型能够支持集团下的多级管理员体系, 自上而下的逐级授权。由一个系统管理员给所有操作员逐一定义角色, 分配权限, 这在实际工作中是不可现实的[4]。因此, 在基于RBAC模型基础上结合系统权限控制需求, 提出了基于RBAC的维度权限管理模型。
2 权限管理模型设计
基于RBAC模型的维度权限管理模型主要完成对角色、权限、权限- 角色指派和用户-角色指派的管理。其主要思想是通过用户与权限的分离, 使权限管理方便灵活[5-7]。通过用户与角色的指定, 角色与权限的配置, 使RBAC达到所需的安全要求。基于RBAC的维度权限管理模型, 将每个属性定义为一个属性维。每个资源都可以在每个属性维上描述其具有的权限。对某一资源对象的权限操作和该权限操作所在的维有关。例如, 该系统需要按照营业区域划分不同部门的管理员权限, 如果规定X区只能管理X区的业务数据资料, 就必须要区分资料的归属地。操作员本身应该有其业务数据资料的信息, 才能管理属于自己管辖的信息内容, 那么就将归属地定义为一个客体属性维, 将其和用户进行关联。因此, 给角色分配权限, 实现权限操作和角色之间的关联关系映射, 必须涉及角色, 权限操作、属性维和资源几个要素。
另外, 业务资源的权限具有业务逻辑相关性。对不同的业务逻辑, 有着完全不同的权限判定策略。在判定时, 用户常需要检查是否有“河北省”、“总经理” 2 个角色, 那么, 业务资源属性分为“归属地 ( 河北省) 、公司组织结构 (总经理) ”等判定条件, 权限检查是否为“读”或“写”, 并将每个属性定义为一个属性维。
从分析看到, RBAC对资源的权限管理是通过角色来指派的, 因此业务资源在属性上的权限问题就转化为业务资源的属性维度问题, 进而转化为角色的多维问题。
3 结语
本文介绍了货物进出口系统的维度建模技术的实现方法, 并在此基础上研究了基于RBAC的维度权限管理模型。该模型对保障数据库的数据安全、保障管理信息系统的正常运行和防止用户越权访问数据具有重要意义。
参考文献
[1]王超.Dimensional Modeling of the Migrant Workers Medical Data Analysis System[J], 计算机系统应用.2013, 22 (4)
[2]Sandhu R S, Coyne E J, Feinsteinh L, et a1.Role-based access models[J].IEEEComputer, 1996, 29 (2) :38—47.
[3]Crook R, Ince D, Nuseibeh B.Modeling access policies using roles in requirements engineering[J].Information and Software Technology, 2003, 45 (14) :979—991.
[4]Sheng-Yin Huang.Multidimensional data mining for healthcare service portfolio management[J].Computer Medical Applications (ICCMA) , 2013International Conference on 20-22 Jan.2013
[5]Li Dequan, Ruan Yuzhi, Yang Runzhi, Ma Tinghuai.Privilege M anagement M odel Based on RBAC for Meteorological Data Resource Service[J].Journal of Applied Meteorological Science.Vo1.23.NO.5 October 2012
[6]WU Jiang-dong, LI Wei-hua, AN Xifeng.Method of Finely Granular Access Control Based on RBAC[J].COMPUTER ENGINEERING.2008, 34 (20)
[7]严骏.苏正炼.凌海风.朱亮.张蕉蕉MIS中基于部门和角色的细粒度访问控制模型[J].计算机应用2011 (2)
RBAC权限 篇5
网络信息系统的每个具体环节都可能受到安全威胁,它是一个复杂的人机交互系统。目前网络信息系统安全存在的关键问题是:缺乏集中统一的用户身份认证机制,用户身份认证是建立安全应用系统的第一道防线,各种业务系统的用户身份认证方式多样化,用户登录不同的业务系统可能采取不同的登录方式,造成管理员对用户的管理分散和不便;缺乏集中统一的资源访问授权机制,各种业务系统对于资源的授权方式不同,缺乏集中的资源访问授权,使管理员对于配置细粒度资源访问以及授权费时费力。
为了保证网络信息系统的安全,我们需要构建强健的权限管理,任何多用户的系统都不可避免的涉及到相同的权限需求,都需要解决实体鉴别、数据保密性、数据完整性、防抵赖和访问控制等安全服务。权限管理系统是网络信息系统中可代码重用性最高的模块之一。所以在网络信息系统安全要求中,应以权限管理作为设计与实现的重点。
采用统一的安全管理设计思想,规范化设计和先进的技术架构体系,构建一个通用的、完善的、安全的、易于管理的、有良好的可移植性和扩展性的权限管理系统,使得权限管理系统真正成为权限控制的核心,在维护系统安全方面发挥重要的作用,是十分必要的。
本文介绍一种基于角色的访问控制RBAC(Role-Based policies Access Control)模型的权限管理系统的设计和实现,系统采用基于DNA架构技术实现。
1 DNA架构[1]
采用Windows DNA构建权限管理系统。Windows DNA架构集成了先进的软件体系架构思想,具有采用多层分布式应用模型、基于组件并能重用组件、统一完全模型和灵活的事务处理控制等特点。
系统逻辑上分为三层:表示层、业务层和数据层。表示层负责人机交互;业务层提供业务管理,主要包括用户管理、权限管理和访问控制等。数据层主要负责数据的存储、组织和管理等。
2 权限模型设计
实现权限管理,就是对人员及其可以访问的数据和可以进行的操作进行归类,在此基础上进行必要的访问和修改控制。系统由于针对的行业和使用者的不同,在权限的设置和管理上又有不同的要求。在实现过程中考虑到易用性、灵活性、安全性和可扩充性的要求,借鉴Windows NT的用户管理模式;按等级划分权限;提供数据库字段一级的访问控制等原则。
2.1 RBAC模型[23]
访问控制策略一般有三种:自主型访问控制(DAC)、强制型访问控制(MAC)和基于角色的访问控制(RBAC)。自主式太弱,强制式太强,二者工作量大,不便于管理。基于角色的访问控制是目前公认的解决统一资源访问控制的有效方法。其优点是:减小授权管理的复杂性,降低管理开销;灵活的安全策略,有很大的伸缩性。
2.2 核心对象模型[4]
根据RBAC模型的权限设计思想,建立权限管理的核心对象模型,模型的基本元素主要有:用户(Users)、角色(Role)、访问模式(Access Mode)、控制对象(Control Object)和操作(Operator)等。主要的关系有:分配角色权限PA(Permission Assignment)、分配用户角色UA(Users Assignment)。各元素及关系描述如图1。
2.3 权限访问机制
权限管理:提供集中管理权限的服务,负责提供用户的验证、角色信息、权限关系表的验证。如图2所示。
系统根据用户、角色、操作、访问策略和控制对象之间的关联关系,同时考虑权限的正负向授予,计算出用户的最小权限。在业务逻辑层采用Session Bean实现此服务,也可以发布成Web Service。采用代理Proxy模式,集中控制来自应用系统的所要访问的权限计算服务,并返回权限关系表。应用系统端通过访问能力表CL和访问控制表ACL两种可选的访问方式访问权限管理系统。
2.4 权限控制机制
权限所要控制的资源类别是根据应用系统的需要而定义的,控制规则也是应用系统提供的,对于权限管理系统来说是透明的,权限将不同应用系统的资源和操作统一对待。应用系统调用权限管理系统所获得的权限关系表,也是需要应用系统来解释的。按此设计,权限管理系统的通用性较强,权限的控制机制由应用系统负责处理。
权限限制施加于单个或多个角色之间,用来表达权限的执行是有条件的。每个角色需遵守最小特权集和职责分离原则,另外角色的权限可以继承。
为了实现这种权限访问控制,建立用于权限管理的数据表,用以存放模块信息、角色、授给角色的权限、授给用户的权限和用户的角色等。
角色权限表存放了所有角色的ID、角色名、角色权限信息。每个角色ID唯一确定一种角色。每一种角色被分配相应的权限。权限字段存储的是权限ID的集合。该表把具体的许可对象与能够操作它们的角色绑定在一起,是实现用户权限定制的关键。角色与权限是双向多对多的关系。
2.5 权限存储
权限管理采用目录服务数据库。目录服务系统基于LDAP(Lightweight Directory Access Protocol)标准,具有广泛的数据整合和共享能力。存储用户信息、角色、操作、访问模式等信息。它允许用户根据需要使用ACI(一般称为ACL或访问控制列表)控制对数据读和写的权限。ACI可以根据谁访问数据、访问什么数据、数据存在什么地方以及对其他对数据进行访问控制,这些都由LDAP目录服务器完成,不用考虑在客户端的应用程序是否要进行安全检查。
3 角色权限分配与管理
安全访问控制必须要识别和确认应用系统的用户。为了防止对系统的任意访问,该系统采用用户名和密码验证登录用户的身份,以确定登录用户是否被允许访问系统资源。用户身份被确认后,进入系统,应用系统把从用户表提取的用户ID发送给角色管理模块,角色管理模块通过角色表获得赋予用户的角色。应用系统把系统管理员角色发送给权限模块,权限模块通过权限表使得拥有某角色的用户获得相应的权限,同时使得不同角色的用户在相同的应用系统中获得不同的操作权限,避免了越权操作。
角色权限管理:一是权限的分配策略,二是权限的操作。在权限的操作过程中首先选取要操作的权限,如授权、修改、浏览等。然后判断是实体权限还是功能权限,再把权限分配给角色。如果角色获得的权限是功能权限则实现系统功能;如果是实体权限,则选择实体对象。同时某用户获得该角色,对实体对象进行权限操作,直至权限管理完成。
功能权限主要是对前台窗口中的控件字段的管理,实体权限是对后台数据库的基本表和基本列表的管理,这种设计解决三层体系结构涉及的安全问题。
4 结束语
本文论述了一种基于RBAC模型的权限管理系统的实现技术方案。实践应用表明,采用基于RBAC模型的权限具有以下优势:适合分层的组织结构形式;扩展性好,支持权限多变的需求;重用性强;权限分配直观、容易理解,便于使用。该权限管理系统已成功应用于学籍管理系统的设计和开发实践。
摘要:本文提出了基于RBAC模型的权限管理的设计和实现方案,讨论了权限管理为核心的面向对象设计模型,以及权限访问和权限控制等技术。
关键词:角色,访问控制,RBAC模型
参考文献
[1]Dino Esposito等著,程永敬,董启雄等翻译.ASP数据访问高级编程[M].机械工业出版社,2007.
[2]常彦德.基于角色的访问控制技术研究进展[J].计算机与现代化,2011,(12).
[3]俞诗鹏.基于角色访问控制的理论与应用研究[D].北京大学硕士学位论文,2003,5.
RBAC权限 篇6
在各种基于J2EE的应用开发中, 以认证授权为基本操作的权限控制子系统是不可缺少的部分, 而且在模块化的系统开发中, 一个基本前提就是权限控制子系统对各业务逻辑系统透明, 简单说就是业务逻辑系统中不应包含权限控制的语句。因此构建一个通用的、便携性强的、便于配置和管理的真正贴近开发实际的安全控制架构尤为重要。
2. Acegi架构的不足
轻量级J2EE框架Spring的出现, 无疑为应用的便携性铺平了道路, 通过IoC和AOP等核心技术的使用, 使得POJO取代EJB成为程序的主角, 开发者可以为POJO业务对象提供声明式的事务管理和其他横切性的企业级服务。而构建在它上的Acegi秉承了这一极为重要的优势, 成为了J2EE安全领域事实上的标准。但在实际的应用开发中, Acegi也存在着一些不能满足实际应用的地方:
其一、Acegi给出的基于XML文件授权信息的配置策略, 显然不符合实际的应用环境, 在大多数应用中权限往往是动态变化的, 管理员可能随时需要配置、维护和修改权限信息。而采用XML文件作为受保护资源的授权信息的载体, 显然无法满足这一基本需求。
其二、Acegi提供的基于RDBMS的用户权限控制模型虽然适合一些小规模, 低复杂度的使能应用, 但对错综复杂的安全需求缺乏统一的支持, 需要进一步引入更为复杂、适用面更加广泛的权限控制模型。
3. 在Acegi中引入RBAC的利弊分析
面向角色的访问控制 (RBAC) 模型实现了用户与访问权限的逻辑分离, 减少了授权管理的复杂性, 降低了管理开销和管理复杂度。但在实际的J2EE应用的设计与开发中, 是否采用基本的RBAC权限管理模型仍需要根据实际需求做出取舍, 以求达到系统复杂度和效率的平衡。
比如在对Acegi权限管理的改进和扩展中, 我们虽然可以考虑直接把标准的基于RBAC的权限管理数据模型引入Acegi中, 但对大多数基于Web的应用来说, 这却不一定是最好的解决方案, 原因如下:
权限校验复杂。在大多数Web应用中, 系统主要关注的是对Web资源和业务方法的保护, 当客户发出对Web资源的访问请求时, 这样的请求在很多时候非常频繁, 采用RBAC权限管理模型系统在进行权限校验时需要不断的遍历和递归, 对系统性能的负面影响显而易见。
对领域对象的权限控制实现起来也比较低效。比如在笔者参与开发过的一个基于Web的内容管理系统 (Content Management System, CMS) 中, 员工可以创建信息栏目, 这时他就是该栏目的所有者, 拥有对该栏目的一切权力, 而RBAC模型无法直接对用户进行授权, 必须通过角色, 这无疑是低效的。
4. 在Acegi中RBAC模型的改进
因此, 这里提出一种折中的权限管理方案。把对Web资源和业务方法的保护同对领域对象的保护隔离开来, 采用不同的数据模型。具体如下所示:
(1) 对Web资源和业务方法的保护采用简化的RBAC模型
因为在绝大多数应用中, 对Web资源和业务方法而言, 操作只有“访问”一种情况, 所以在RBAC模型中去掉operations表, 直接把资源同角色联系起来。数据管理模型如图1所示:
这样, 不但提高了系统权限校验的效率, 而且使得每张表的容量比起RBAC模型来明显减少, 使得我们可以把它们整体放入缓存中, 进一步减少了授权操作的时间, 加快了系统的响应速度。
(2) 对领域对象的保护采用ACL模型
ACL模型是操作系统普遍采用安全控制模型。从领域对象的角度而言, 每个领域对象都有各自的访问控制列表 (ACL) , 各个ACL可能持有若干个访问控制项 (ACE) , ACE真正给出了操控当前领域对象的具体权限信息。该模型的E-R图如图2所示:
借助于这一在操作系统中普遍使用的ACL模型, 不但模型本身更容易理解, 而且可以直接对用户或角色授权, 这对领域对象的保护提供了极大的灵活性。
5. 结束语
本文在基于对Acegi的研究的基础上, 通过对Acegi进行改进扩展, 在构建一个通用性好的、便于配置和管理的安全控制架构方面做了一定的尝试。
摘要:本文在对Acegi中引入RBAC模型的利弊分析基础上, 提出了在Acegi中采用一种折衷的权限管理方案。该方案把对Web资源和业务方法的保护同对领域对象的保护隔离开来, 采用不同的访问控制模型。
关键词:Acegi,认证, 授权,RBAC
参考文献
[1]Rod Johnson.Professional Java development with the springframework[M].USA:Wiley Publishing, 2005.
RBAC权限 篇7
关键词:Sakai平台,RBAC模型,SOA架构,权限管理
0 引言
Sakai是由美国印地安那大学、密西根大学、斯坦福大学和麻省理工学院于2004年共同发起的一项开源课程管理系统计划[1], 其英文全称为Synchronized Architecture for Knowledge Acquisition Infrastructure。目前, Sakai已经成为美国最著名、应用最为广泛的课程管理系统开源软件, 全球前百强大学中, 应用Sakai平台的院校占了总数的1/3, 共有超过160个教育单位正式采用Sakai作为自己的教学系统。
在中国有关Sakai的研究才刚起步, 只有为数不多的几所高校开始了Sakai的教育应用。例如:翟菁[1]从开发语言、教学、架构模式、用户对象以及功能等方面对Sakai与Moodle进行了比较研究;何超[2]对Sakai平台的基本开发环境、项目管理、数据库技术和表现层技术等实现技术进行了分析;李建伟等[3]结合北京邮电大学网络教育学院采用Sakai平台作为网络教育教学平台;李浩等[4]深入研究了Sakai平台中站点、用户、和角色之间的关系。上述研究工作一定程度上促进了Sakai平台在中国的应用与推广。
本研究在RBAC模型基础上, 根据Sakai平台不同用户的特定需求, 提出了面向服务和基于角色相结合的权限控制策略, 实现了Sakai平台开放、动态的权限管理。本文分析了Sakai平台用户的特定需求, 在此基础上提出了面向服务和基于角色相结合的权限控制策略, 并将改进的RBAC模型应用到Sakai平台的权限管理中。
1 相关工作
权限管理是通过某种途径显式地允许或限制用户访问级别及范围的一种方式, 可以简单地将其表述为“Who对What进行How操作”的逻辑表达式[5]。传统的权限管理主要有强制访问控制 (Mandatory Access Control, MAC) 和自主访问控制 (Discretionary Access Con-trol, DAC) 两种方式。这两种方式都是将用户和对象直接关联, 根据用户的安全级别来决定其对对象的访问权限。美国Gemge Manon大学于1996年提出了基于角色的访问控制 (ro1e-based access control, RBAC) , RBAC成为了近年来最为热门的访问控制模型。
RBAC模型在用户和权限之间引入了角色的概念, 能够在较高层次上对角色设置相应的访问权, 通过角色来控制用户权限的改变, 从而实现了用户和权限的逻辑分离。RBAC具有很大的灵活性, 通过配置各种参数来实现某种安全策略, 可以被配置成传统的MAC和DAC。
Saudbu等人[6]提出的RBAC96参考模型反映RBAC的各种模型组件之间的交互关系, 其中, RBAC0[9]定义了所有RBAC系统都应具备的几个基本元素:用户、角色、会话、对象、操作和权限, 并规定了任何RBAC系统所必须的最小需求, RBAC1增加了角色层次的概念, RBAC2增加了约束的概念, RBAC3包含了RBAC1和RBAC2。在RBAC96模型中, 角色继承与会话有关, 可以解释为激活继承和权限继承。而Ferraiolo等人提出NIST RBAC[7]模型和随后的ANSI RBAC标准[8]中把角色继承看成是用户继承和权限继承。
由于RBAC模型简化了用户授权管理的复杂性, 并可以灵活支持各种不同的安全策略, 因而被广泛接受和应用。胡俊鹏等[5]在RBAC模型基础上提出了一种基于角色的安全保护策略, 并设计了基于角色的安全管理系统;陈继南等[10]把基于角色访问控制的思想运用在Asp.net平台, 提出了基于Forms的安全验证、角色实体关系模型、基于目录和文件限制的访问规则;蔡昭权[11]在RBAC基础上采用功能掩码的方法设计了与业务无关的权限管理模块。
在现代软件系统中, 权限管理有着极其重要的地位, 而基于角色的访问控制方法是目前公认的解决大型企业的统一资源访问控制的有效方法。在具体应用中, RBAC模型需要根据项目的实际情况和具体架构, 在安全性、维护性、灵活性、完整性等之间比较权衡, 并进行相应的改进与完善。
2 Sakai平台用户特定需求
Sakai平台具有明确的目标用户群体, 包括教师、助教、学生和研究人员, 这些用户彼此的知识层次和知识背景存在差异, 在同一知识领域的贡献度和需求度也有着明显的不同, 因此, 在Sakai平台的权限设置上应考虑用户的特定需求。
教师希望利用Sakai平台提供的各种工具创建课程站点, 对课程进行编辑, 组织教学活动;助教希望利用某些特定的工具为教师授课提供支持, 为学生课前或课后学习提供帮助;学生希望利用教师和助教提供的资源进行课程学习或课后练习;研究人员在研究项目时, 则可能希望研究内容只对组内成员开放。若允许各类用户不加限制地编辑站点, 则站点内容会越来越混乱。因此, 需要依据知识层次将用户对工具和站点的访问权限加以限制来维持站点内容的安全性和有效性。
由于Sakai平台的站点是顶层的组织单元, 所有的页面都组织在站点中, 由标签建立页面组织的索引, 因此, 访问权限需要依据组织单元级别来设定, 即站点级的访问权限是所有页面级权限的前提, 在没有获得站点级访问权限时, 用户是无权访问该站点中任何页面的。
另外, Sakai平台应给予用户充分参与平台建设和维护的权利, 使用户可以发布信息资源, 也可以自主管理和维护自己所发布的信息资源, 即用户对自己所发表的内容具有自主权。
3 Sakai平台权限管理模型
面向服务的架构 (Service-Oriented Architecture, SOA) 是一个软件组件模型体系架构, 它将日常的业务应用划分为单独的功能单元, 单元间通过良好的接口和契约来联系, 使用户可以构建、部署和整合功能单元, 不用依赖应用程序及其运行平台, 从而提高业务流程的灵活性。
Sakai平台本身就采用面向服务架构的软件开发方法, 将平台分为40余个工具模块, 用户的权限控制策略就决定了用户具体可以访问哪些已经注册的工具模块。因此, 本研究采用面向服务的架构和基于角色的访问控制相结合的技术, 来为Sakai平台提供开放、动态、灵活的权限管理。图1描述了面向服务和基于角色相结合的Sakai平台的权限管理模型。
按照该模型的设计, 根据用户 (Users) 是否从属于某一站点 (Sites) , 将其分为两类:不从属任何站点的用户根据其注册的账号类型 (Account type) 进行权限管理;从属于某一站点的用户则根据其在站点中的具体角色 (Roles) 来进行权限管理。一个用户可以加入多个站点, 具有不同的角色。根据用户具体的类型或角色, 平台为其建立会话 (Session) , 并针对用户在会话中对某特定对象 (Obs) 的访问请求进行权限匹配 (Matching) , 来决定用户拥有的权限集合 (Prms) , 包括是否有权限访问请求对象, 以及对访问对象允许的操作 (Ops) 。
4 Sakai平台权限管理控制实施
基于上述模型, Sakai平台实施了非常灵活的动态权限管理, 可以控制用户权限、站点权限、小组权限、资源使用权限和帮助系统权限等, 使不同的用户和角色拥有不同的操作能力。
Sakai平台的用户权限管理分为两大类:账号类型和角色。基于账号类型的用户是指不从属于任何站点的用户, 按类型划分有4类:教师、学生、已注册和游客。当用户在平台申请了账号, 就获得了相应的权限, 例如, 用户申请了教师类账号时, 就获得了添加站点、添加用户等权限。
基于角色的用户是指已经加入到某一站点的用户。不同类型站点内的用户可以申请获得不同的角色, 一个用户可以加入多个不同的站点, 在这些站点内, 可以获得多个不同的角色。Sakai平台常用的站点是课程站点 (course site) 和项目站点 (project site) , 课程站点主要用来教学, 项目站点主要用来科研与交流。
课程站点的主要用户是教师、助教和学生, 据此定义了课程站点的3种角色:教师 (Instructor) 、助教 (Assistant) 和学生 (Student) , 操作对象包括自己 (own) 、任何人 (any) 、小组 (groups) 、信道 (channel) 、草稿 (drafts) 等, 操作权限包括新建 (new) 、浏览 (read) 、修改 (revise) 、删除 (delete) 、显示 (all) 和隐藏 (hidden) 。教师拥有的权限最多, 可利用站内所有工具来编辑课程, 例如上传资源、组织测验、管理成绩等。助教拥有必要的权限来支持教师的教学工作, 例如设置论坛或发布站内消息。学生拥有的权限最少, 可以聊天、发送邮件等。课程站点内, 教师、助教和学生的角色权限定义如表1所示。
项目站点的主要用户是研究员或教师。项目站点与课程站点的主要区别是课程站点定义了教师、助教、学生3种角色, 而项目站点只定义了维护者 (Maintain) 和访问者 (Access) 两个角色。维护者拥有权限配置站内工具, 管理站内其他成员。访问者的权限较少, 可以利用站内工具访问其他成员, 进行交流。项目站点内, 维护者和访问者的角色定义如表2所示。
在Sakai平台, 无论是课程站点还是项目站点, 用户都是通过使用站内提供的工具来满足自己的需求。每种工具在不同的站点内拥有不同的权限, 下面以公告 (Announcement) 工具为例, 介绍Sakai平台的工具在课程站点和项目站点中的权限管理。
在课程站点和项目站点中, 用户利用公告工具可以向站内其它成员发送公告, 公告可以显示在站点的首页 (Home page) 上, 也可以以邮件的形式发送给站内其他成员。Sakai平台公告工具的权限描述如表3所示。
在课程站点中, 教师对自己、小组、草稿和所有站内成员的公告拥有阅读、新建、删除和修改权限, 助教和学生通常只拥有阅读权限。教师可以根据助教或学生的要求更改助教或学生的公告权限, 如图2所示。
在项目站点中, 维护者具有所有公告的阅读、新建、删除和修改权限, 而访问者只能阅读公告。当然, 维护者也可以根据访问者的要求增加其操作权限。
5 结语
本文提出了面向服务架构和基于角色访问控制相结合的权限控制模型, 并将该模型应用到Sakai平台的权限管理中。针对Sakai平台用户的特定需求, 设计并实现了用户权限管理、站点权限管理和工具权限管理。在今后的工作中, 需完善Sakai平台的权限管理模块, 并深入研究Sakai平台在中国的其它本地化和和二次开发等应用, 以推进Sakai平台在我国教育领域的进一步推广。
参考文献
[1]翟菁.SAKAI与MOODLE的比较研究[J].软件导刊, 2008, 7 (9) :33-34.
[2]何超.Sakai开源学习平台的实现技术分析[J].电脑知识与技术, 2009, 5 (26) :7353-7355.
[3]李建伟, 王栩楠, 刘洪沛, 等.Sakai开源教学系统在网络教育中的应用[J].现代教育技术, 2009, 19 (5) :98-102.
[4]HAO LI, QINGTANG LIU, QIAO WANG.The research on permission management of the open-source Sakai platform[C]//International Conference on Industrial and Information Systems, 2009.
[5]胡俊鹏, 谢坤武, 毕晓玲.基于RBAC的安全管理系统的设计与实现[J].微计算机信息, 2008, 24 (2-3) :88-121.
[6]SAUDBU R, COYUE E J.Role-based access control models[J].IEEE Computer 1996, 29 (2) :38.
[7]FERRAIOLO D, SANDHU R, GAVRILA S.A Proposed standard for role-based access controls[J].ACM Transactions on Information and System Security, 2001, 4 (3) :224-274.
[8]ANSI INCITS.Role based access control[S].American National Standards Institute, 2004.
[9]李兴唐.基于角色的权限管理系统[D].长春:古林大学, 2004.
[10]陈继南, 姜莹, 孔祥荣.基于角色的Web信息系统权限管理方法[J].武汉理工大学学报:信息与管理工程版, 2008, 30 (2) :265-268.
[11]蔡昭权, 基于业务无关的权限管理的设计与实现[J].计算机工程, 2008, 34 (9) :183-185.