高校网上支付系统的访问控制模型研究及系统实现
2015-12-02黄宁玉宋式斌孙浩志
黄宁玉, 宋式斌, 孙浩志
(北京大学医学部信息通讯中心,北京 100871)
0 引 言
互联网为社会活动创造了全新的信息空间,商务活动在此空间中迅速发展,由此产生了电子商务,电子商务是信息化社会的商务模式[1].作为电子商务活动中的重要环节,电子支付自20世纪90年代起在国内开始使用发展至今,技术日趋成熟,理念和使用方法也广为接受[2].
高校里一方面收费项目多、分管部门多、费用标准差异大、集中收费量大,另一方面年轻人多、人员综合素质高,因此采用电子支付方式收取校内各种费用将极大提高收费管理效率、优化用户体验.
本文在分析高校现有收费管理模式的基础上,设计高校通用的校园网上支付系统,定义业务模型和访问控制模型,并给出一种可行的技术架构完成工程实践.
1 相关工作
1.1 高校收费管理现状
高校传统的收费管理流程如图1所示.
图1 高校传统收费管理流程图
(1) 用户A、用户B线下沟通协商收费项目、标准以及起始时间.
(2) 用户A、用户B分别在各自的管理系统中录入收费项目、标准及待缴费的人员.
(3) 用户A、用户B分别将协商好的收费时间及费用标准告知用户C.
(4) 用户C向用户B支付费用,通过现金支付、刷卡、银行代扣等方式.
(5) 用户B将用户C的支付结果录入财务管理系统.
(6) 用户B将用户C的支付结果通过电子表格等方式告知用户A,或者财务系统和收费管理系统之间通过推送、订阅等方式同步数据.
该工作流程效率低下,且存在现金盗抢和假钞使用等风险,近年来已陆续有不少高校开始基于各自的收费管理需求使用网上银行、银校直连、校园卡钱包等不同的电子支付方式收取校内费用[3-6].
1.2 RBAC模型
基于角色的访问控制模型RBAC(Role-Based Access Control)[7]由David F.Ferraiolo和D.Richard Kuhn于1992年提出,该模型支持三个经典的信息系统安全原则,即最小权限原则,权责分离原则和数据抽象原则[8].RBAC的形式化描述如下[7].
主体正在使用的活跃角色,记作:AR(s:subject)={the active role for subject s}.
主体被分配的一个或多个角色集合,记作:RA(s:subject)={authorized roles for subject s}.
角色被授权执行的事务集合,记作:TA(r:role)={transactions authorized for role r}.
当主体s可以执行事务t时,记作:exec(s:subject,t:tran)=true.
当主体s被允许使用其活跃角色通过x模式执行事务t来访问客体o时,记作:access(AR(s),t,o,x)=true.
RBAC有4条基本规则.
(1)角色分配:主体只有被分配类角色才能执行事务.记作:
?s:subject,t:tran,(exec(s,t)?AR(s)≠?).
(2)角色授权:主体的活跃角色一定是被授权的.记作:
?s:subject,AR(s)?RA(s).
(3)事务授权:只有事务被授权给了主体的活跃角色,主体才能执行事务.记作:
?s:subject,t:tran,(exec(s,t)?t∈TA(AR(s))).
(4)主体s被允许使用其活跃角色通过x模式执行事务t来访问客体o时,主体s才能执行事务t.记作:
?s:subject,t:tran,o:object,(exec(s,t)?access(AR(s),t,o,x)).
2 系统模型设计
2.1 业务模型
图2 校园网上支付业务流程图
(1) 收费项目管理方登录系统建立收费项目,内容包括收费项目名称、费用标准、收费时间等.
(2) 财务收费管理方登录系统后对申报的收费项目进行审批.
(3) 支付方登录系统后查询到各人名下的收费项目.
(4) 支付方在收费期内登录系统后使用网银完成网上支付.
(5) 系统将支付方的支付结果实时的反馈给支付者、收费项目管理方和财务收费管理方.
2.2 访问控制模型
使用本系统的主体分为4类人员,与此相应的,系统中的角色设置为4种,如表1所示.
表1 主体及角色列表
据表1,则系统的主体集合记作S={s1,s2,s3,s4},角色集合记作R={r1,r2,r3,r4};
主体在本系统中访问的客体包含10种,如表2所示.
表2 客体列表
据表2,则系统中的客体集合记作O={on|n∈N且1≤n≤10}.
主体在本系统中的事务操作包括7种,如表3所示.
表3 事务列表
据表3,则系统中的事务集合记作T={tn|n∈N且1≤n≤7}.
执行事务时的操作模式包括读、写、追加,分别记作x1,x2,x3,则模式集合记作X={x1,x2,x3}.
根据RBAC模型中的定义,给出高校网上支付系统的通用访问控制模型如下.
系统4类主体包含的活跃角色分别记为
AR(s1)={r1};AR(s2)={r2};AR(s3)={r3};AR(s4)={r4};
系统4四类角色拥有权限执行的事务分别记为:
TA(r1)={t1};TA(r2)={t2};TA(r3)={t2,t3};TA(r4)={t4,t5,t6,t7};
系统中各类主体对各类客体的访问控制规则如表4所示.
表4 访问控制规则列表
3 系统实现
3.1 逻辑结构
图3 校园网上支付系统逻辑结构图
本系统的基础组件包含一般信息系统的通用组件,用于管理系统的基本参数、用户角色授权、日志等,并可对日志进行简单的分析.
核心组件用于管理系统的三个核心元素:收费项目、订单、以及交易记录,以及与之紧密相关的定时任务,定时任务包含对交易记录查询、补发、对账的定时操作管理.
应用服务是整个系统中让用户获得良好用户体验的关键,本系统为用户提供的应用服务有两种:电子支付以及对账.
开放的系统接口可快速便捷的实现与校内其它系统进行业务上的对接以及数据的共享.
3.2 技术架构
系统开发选用ExtJS+Spring+MyBatis的三层架构.
ExtJS是一个与后台技术无关的前端ajax框架,用于开发用户页面,功能丰富,界面美观,而强大的控件和MVC的布局模式则让开发相当灵活和便捷[8].
Spring用于业务逻辑层,是连接表现层和数据访问层的桥梁,提供了丰富的与业务逻辑无关的功能,使开发者可更好的专注于业务逻辑.
MyBatis是一个轻量级的基于Java的持久层框架,自动化程序低,手工映射SQL,使得系统便于维护和性能优化,灵活度高.
4 结束语
作者基于本文提出的系统模型和设计方案实现了高校网上支付系统,并在本校平稳运行了一年多.运行期间系统功能正确稳定,改善了校园内支付场景的用户体验,经实践,本系统维护方便,相关功能的扩展也易于实现.
[1] 方美琪.电子商务概论[M].北京:清华大学出版社,1999:1-2.
[2] 关文静.对国内电子支付现状的分析[J].电子支付,2012(12):44
[3] 黄宁玉等.北京大学:网上支付平台简化财务管理[J].中国教育网络,2012(7):60-61.
[4] 周其锋.“银校直联”无现金支付系统在高校财务工作中的应用分析[J].商业会计,2013(12):117-118.
[5] 田小萍,陈金焘,皇甫大鹏.基于校园卡的网上支付平台的研究和应用[J].计算机技术与发展,2011,21(9):167-170.
[6] 陈翼,宓詠.复旦大学:探索“网上支付信息化”.中国教育网络,2013(10):69-70.
[7] FERRAIOLO D F,KUHN D R.Role-based access controls[C]//15th National Computer Security Conference(1992).Baltimore:[s.n.],1992:554-563.
[8] 卫军,夏慧军,孟腊春.ExtJS Web应用程序开发指南[M].北京机械工业出版社,2011.