基于ASP组件技术的WEB MIS权限系统的设计与实现

2014-02-23 01:56张军强
电子测试 2014年21期
关键词:访问控制客体组件

张军强

(陕西财经职业技术学院,咸阳,712000)

基于ASP组件技术的WEB MIS权限系统的设计与实现

张军强

(陕西财经职业技术学院,咸阳,712000)

网络技术的迅速发展,随之而来的安全问题也与日俱增。针对应用层身份认证和访问控制安全问题。本文利用ASP组件技术,实现了角色权限组件和登录组件,保证了具有不同角色的用户能够登录不同的界面,加强了系统的安全管理,解决了系统安全问题。

网络安全;权限;访问控制;ASP组件

1 访问控制

自主访问控制是多用户环境下最常用的一种访问控制技术,思想是根据访问者和它所属组的身份来控制对客体目标的授权访问。强制访问控制是为每个主体、客体分别定义安全属性,主体能否对客体执行特定的操作取决于二者之间的安全属性的关系,是一种基于主体和客体的安全标记来实现的访问控制策略。

自主和强制访问控制缺陷是要将主体和客体直接绑定在一起,授权时需要对主体和客体同时定义访问许可。当主体和客体的数量很大时,授权工作将非常困难。二十世纪九十年代以来,随着对在线的多用户、多系统的研究不断深入以及对系统安全需求发展和网络、分布式技术的快速发展的基础上,角色的概念逐渐形成,产生以角色为中心的访问控制模型,即基于角色的访问控制RBAC。

2 角色权限管理模型设计

2.1 权限核心对象模型设计

根据RBAC模型的权限设计思想,建立权限管理系统的核心对象模型。对象模型中包含的基本元素主要有:用户(Users)、角色(Role)、访问模式(Access Mode)、控制对象(Control Object)和操作(Operator)等。

主要的关系有:分配角色权限PA(Permission Assignment)、分配用户角色UA(Users Assignment)。

2.2 角色权限分配策略

角色权限管理图1包含有权限的分配策略和权限的操作。在权限的操作过程中首先选取要操作的权限,如授权、修改、浏览等。然后判断是实体权限还是功能权限,再把权限分配给角色。如果角色获得的权限是功能权限则实现系统功能;如果是实体权限,则选择实体对象。同时某用户获得该角色,对实体对象进行权限操作,直至权限管理完成。

安全访问控制要识别和确认应用系统的用户。为了防止对系统的任意访问,该系统采用用户名和密码验证登录用户的身份,以确定登录用户是否被允许访问系统资源。用户身份被确认后,进入系统,应用系统把从用户表提取的用户ID发送给角色管理模块,角色管理模块通过角色表获得赋予用户的角色。图2是应用系统把系统管理员角色发送给权限模块,权限模块通过权限表使得拥有某角色的用户获得相应的权限,同时使得不同角色的用户在相同的应用系统中获得不同的操作权限,避免了越权操作。

图2 角色授权

2.3 角色权限管理组件设计

组件方法可以实现角色权限在Web环境下权限的分布式管理,大大方便了权限的可扩展性,增大了权限管理的灵活性,使权限的管理适应不同的客户端。角色权限管理模型作为核心。实现这种权限访问控制,建立用于权限管理的几个数据表,用以存放模块信息、角色、授给角色的权限、用户信息、授给用户的权限和用户的角色等。Permission表中存储了系统具有的权限。

表1 Permission表

用户与角色是双向多对多的关系。角色主要包括角色ID、角色名称等信息。表中设置角色互斥键,来避免角色分配、运行期间,用户拥有责任互斥的角色。新角色的定义、修改和删除均基于此数据表进行。

表2 Role表

表3 Role_Per表

角色权限表存放了所有角色的ID,角色名,角色权限这些基本信息。每个角色ID唯一确定了一种角色。每一种角色被分配相应的权限。该表把具体的许可对象与能够操作它们的角色绑定在一起,是实现用户权限定制的关键。该数据表的主键为Role_ID和Model_ID。角色与权限是双向多对多的关系。

表4 User表

用户表中存放了所有用户的ID、用户名、密码、所属角色这些基本信息,每个用户的ID是唯一的,它唯一标识一个用户。每一个使用本系统的用户必须隶属于某种角色。但用户的角色并不唯一,可以隶属于一种或多种角色。

表5 UserRole表

UserRole表将特定的用户与角色关联在一起,主键为User_ Name和Role_id。为用户指定角色只需在该表中添加一条记录即可;由于主键为User_Name和Role_id,所以允许一个用户拥有多个角色,当多个角色的权限发生冲突时,取其并集。表2、3、4、5的相互关系如图3所示。

图3 权限控制E—R图

3 安全组件的实现

3.1 权限管理组件的实现

采用ASP组件技术来实现权限管理组件,提高代码的重用程度,大大简化程序设计的复杂度,提高程序的设计效率,同时也有利于解决网络信息系统的安全。

根据权限的设计,角色权限设置是系统权限管理的主要内容,用户通过它来完成各种权限的设置,设置的本质就是对后台角色权限表进行相关操作,如增加、删除、修改等操作。

’OpenDB方法,打开数据库,建立与SQL Server的连接,建立连接后就可以创建一个包含所有角色信息的记录集。

……

Private Sub Add(Id As String, Name As String, Flag As String)

Dim NewConn As New ADODB.Connection

Dim NewRecordsetRole As New ADODB.Recordset

NewConn.Open "Provider=SQLOLEDB;DataSource=School;U serId=;Password="

NewRecordsetRole.Open "SELECT * FROM Role", NewConn, adOpenDynamic, adLockOptimistic

NewRecordsetRole.AddNew

NewRecordsetRole.Fields("Role_ID") = Id

NewRecordsetRole.Fields("Role_Name") = Name

NewRecordsetRole.Fields("flag") = flag

NewRecordsetRole.Update

End Sub

Private Sub Delete(Id As String)

Dim NewConn As New ADODB.Connection

Dim RecordsetDelete As New ADODB.Recordset

NewConn.Open "Provider=SQLOLEDB;DataSource=School;U serId=;Password="

NewConn.Execute "DELETE FROM Role WHERE Role_ID ='" & Id & "'", adCmdText + adExecuteNoRecords

End Sub

3.2 登录组件的实现

登录用户通过所拥有的角色权限来判断允许访问的数据库资源和系统资源。只要有安全考虑的网页都可以调用登录组件,查看用户以前是否登录过,系统会显示对应的登录表单或者直接打开受保护的页面。输入帐户和密码,系统负责验证,操作包括到数据库中选取符合条件的记录,如果帐户和密码不存在,表示这个人没有权利打开此网页,系统将响应错误信息。若用户有权利使用系统,系统会进行下一步操作,改变Session变量值、加载正确的网页内容等。若是一个合法的用户,由于判断是否通过认证的Session变量已设置为True,因而连接到下一个有安全考虑的网页时不会再调用Student组件,也不会出现登录界面。

登录组件在VB6中测试编译后,将产生.dll文件,并用regsvr32.exe将该组件注册在系统数据库(Registry)中。调用登录组件,在ASP文件中加入以下代码:

……

<%

dim login

Set login = Server.CreateObject("student.login")

login.login nTryTimes

%>

…… <!-跟受保护的网页内容->

Student.login是Student登录组件的ProgID。ASP对COM组件的支持,使得它获得了无限的可扩展性。ASP借助MTS进行自制COM组件的管理。

该系统已成功应用于学籍管理系统的设计和开发实践。实践应用表明,采用ASP组件技术实施的安全权限具有以下优势:权限分配直观、容易理解,便于使用;扩展性好,支持权限多变的需求;重用性强。

[1] 常彦德.基于角色的访问控制技术研究进展[J]计算机与现代化 2011 12.

[2] Dino Esposito等著 ASP数据访问高级编程[M]程永敬 董启雄等翻译 机械工业出版社 2007.

[3] Sbelley powers著ASP组件开发指南(第二版)[M] 何健辉 张珞玲等翻译 中国电力出版社

Design and implementation of WEB MIS system based on ASP component technology

Zhang Junqiang
(Shaanxi Vocational College of Finance and Economics,Xianyang,712000)

The rapid development of network technology,the problem of security is grow with each passing day.Aiming at the application layer authentication and access control security issues.In this paper,using ASP component technology,realizes the role permissions component and login component,ensure with different roles users can log on different interface,to strengthen the security management system,solves the problem of system security.

network security;permissions;access control;ASP component

图1 角色权限管理

张军强(1970-) 男,陕西富平,副教授,工学硕士学位,研究方向:计算机网络及网络安全

猜你喜欢
访问控制客体组件
无人机智能巡检在光伏电站组件诊断中的应用
新型碎边剪刀盘组件
符号学视域下知识产权客体的同一性及其类型化解释
U盾外壳组件注塑模具设计
ONVIF的全新主张:一致性及最访问控制的Profile A
动态自适应访问控制模型
浅析云计算环境下等级保护访问控制测评技术
大数据平台访问控制方法的设计与实现
行动语义、客体背景和判断任务对客体动作承载性的影响*
风起新一代光伏组件膜层:SSG纳米自清洁膜层