基于统一身份认证的微应用开发应用探索

2021-04-09 04:53:04罗亚军白娟娟
电子世界 2021年12期
关键词:母版数据中心统一

徐 建 宗 锐 寇 贇 罗亚军 白娟娟

(1.陕西机电职业技术学院科研信息处;2.陕西机电职业技术学院人事处;3.陕西机电职业技术学院教务处)

结合权限管理机制,将现有的应用系统进行适当改造,整合融入到统一身份认证平台中,依托共享数据中心、数据接口和数据推送技术,实现减少或免登录进行系统间的数据融合对接,达到打破应用壁垒、消除数据孤岛的目的;也可以进行基于统一身份认证技术的应用开发,集成到现有PC平台及移动APP中,使之更便于用户使用。

信息化应用和推广是学校信息化工作的重点,而统一身份认证(IDS)是信息化应用的核心。统一身份认证往往和单点登录(SSO)相提并论,实际上单点登录只是基础和表象,统一身份认证才是实质和升华,其具备更深层次的用户管理、分级权限管理、认证管理、单点登录等功能,即统一身份认证是包含单点登录的。本文通过探索研究统一身份认证,一方面多个应用可采用此认证系统进行身份认证;另一方面,遵循IDS规范的应用,支持认证状态漫游,即在其中一个系统认证成功后,跳转到其他应用依然保持其认证状态。

笔者所在的学校已建设了智慧校园基础平台(又称“三大平台”,即共享数据中心、统一身份认证、统一信息门户),并融合集成了人事、教务、学工等多个应用系统及数据。其中,统一信息门户又称办事大厅,是将多个应用的入口集成到一个门户平台上。办事大厅包含了大量服务性的应用,但还有所欠缺,不能很好的体现学校个性化的需求。因此,本文对基于统一身份认证的微应用开发与应用进行了研究,在ASP.NET+IIS服务环境下,先后开发了账务查询、报名、疫情上报、投票、报修等五个微应用并推广应用。

1 中间库与数据推送

为了保障数据安全性,一般不可直接从应用后台数据库或共享数据中心中获取数据,通常采取建立中间库的方式,将需要的数据授权后从应用后台数据库获取,经过清洗规范后写入到共享数据中心并推送到中间库。共享数据中心基于Oracle Database及WebLogic中间件,在中间件环境下操作数据的获取、清洗、存储和推送。在开发设计微应用时,一般新建独立的数据库服务器作为中间库,在Web Logic环境中建立与中间库的数据连接,直接读取或读取后存入到后台数据库中。经应用数据加工处理后的数据,必要时也可以读取到共享数据中心,供其他应用获取使用。

例如:账务查询微应用,需要从人事系统获取教职工(工号、姓名、所在部门)信息;报名微应用需要从学生学籍库中获取学生(学工号、姓名、班级)信息;疫情上报、投票、报修等微应用均需要从人事系统获取教职工(工号、姓名、所在部门),从学生学籍库中获取学生(学工号、姓名、班级)信息。数据获取后,通过中间件定时推送到中间库,作为微应用的基础数据,一方面可以解决数据更新问题,比如:新增的教职工或学生,中间库可以及时得到更新,不用在微应用后台手动添加或删除;另一方面,通过中间库及数据推送技术,可以避免直接操作系统的后台数据,从而最大限度保障数据安全。

2 应用授权与应用注册

应用授权即在统一身份认证平台建立应用,让统一身份认证平台与应用建立联系,允许该应用调用统一身份认证平台进行认证。平台探测到认证请求后,校验该请求的来源地址是否在平台中备案,从而确定是否响应该认证请求。同时,通过平台对用户(组)授权,设定允许那些用户(组)可以通过统一身份认证并访问应用。应用注册即在统一信息门户中对应用进行注册,实际上是将应用发布到PC平台或移动APP,即在统一信息门户中添加微应用的访问入口,可以便捷的在PC平台或移动APP中访问该微应用。再结合CAS认证,即已搭好微应用统一身份认证的框架。

3 程序设计

基于统一身份认证的微应用,在程序设计阶段应确保代码简洁、功能完备以及美观高效,除常规的UI及事件逻辑处理外,还应该在CAS认证、母版页设计、响应式布局及权限管理等方面进行规划实施。

3.1 CAS认证

仅应用授权和应用注册,并不能实现身份认证,还应该在程序内指定认证服务器地址等参数。统一身份认证采用CAS结合LDAP认证方式,CAS在程序设计中,支持JAVA、PHP、ASP、ASP.NET等常见语言,可获取到对应程序语言的示例Demo。以ASP.NET为例,只用在合适版本的Visual Studio里打开ASP.NET对应的Demo,修改Web.config文件 节中url-1修改为认证服务器登录地址,url-2修改为认证服务器地址,url-3修改为微应用部署地址,以及节中url-4替换成认证服务器登录地址,然后以此Demo为基础设计及发布微应用即可。微应用启动后判断浏览器是否有统一身份认证的令牌,如果没有,则跳转到认证登录界面,如果有或认证成功,则跳转到微应用首页,并缓存登录ID(loginID),而登录ID作为后续程序设计的身份标识,贯穿整个微应用的设计过程中。

3.2 母版页设计

母版页是嵌套式框架的模板技术,利用母版页可批量创建多个布局一致效果的页面,程序公共的部分放在母版页中,其余在ContentPlaceHolder节中嵌套生成。以投票微应用为例,将CSS设置、权限校验、导航条、底部联系方式等放在母版页中,而系统设置、投票统计、投票页面、帮助等页面,则基于母版页生成,从而达到简化代码和提高程序执行效率的目的。

3.3 响应式布局

为适用PC浏览器和移动APP访问,微应用优先采用响应式布局,通常采用Bootstrap框架或自定义流式布局,Bootstrap框架功能强大,但会加载JS文件及CSS样式表,在一定程度会影响访问速度,故更多采用流式布局。以投票微应用为例,因要显示多个候选者的照片、部门及票数等信息,外层框架适应PC界面,定义其样式(max-width:1040px;margin:auto)、内层DIV定义样式(width:110px;border:1px solid #EEE;float:left;margin:5px 5px 00; padding:5px 0; text-align :center),从而达到PC界面最大宽度1040DPI,每行可显示9组内层DIV,并自适应移动APP浏览器的各种屏幕分辨率,从而达到最佳显示效果。

3.4 权限管理

程序内部权限包含两个方面:管理权限和使用权限。在程序设计阶段,通过查询验证登录账户属性,并给予相应程度的权限,结合统一身份认证用户(组)的权限授予,可以最大限度防止非法登录及越权操作的现象发生。

管理权限:授权管理员在后台进行设置、数据增加/修改/删除/查询/下载等,进入管理界面可采取独立的登录方式(不使用统一身份认证),也可以在代码里直接设定某人(或多人)为管理员,通过统一身份认证后即具备相应的模块的管理权限,而其他人无权限操作。

使用权限:即通过统一身份认证后,可以利用有限的权限进行相应的填报、选择、提交、查看等操作。

4 应用及展望

经过调测,相关微应用陆续上线。账务查询微应用,用于教职工自助查询每月绩效工资明细;投票微应用,用于每年学生票选最喜欢的教师、辅导员等;报名微应用,用于学生参加技能大赛、运动会等活动报名;疫情上报微应用,用于疫情期间师生上报每天健康状况,便于相关部门统计掌握;报修微应用,用于学院水、电、网等日常故障报修。开发部署的这些微应用作为校园信息化应用的补充之一,师生喜欢使用并积极主动去用,给学院师生带来便利,也方便了学校管理。

微应用是实现某个单一功能的小程序,其优点是代码量少、执行效率高,缺点是可能导致应用碎片化,但微应用设计初衷是在方便用户使用的同时,提升学校信息化建设及应用水平,如能严格遵循数据标准,严控数据来源,统筹优化数据流转,则可将碎片化带来的影响降到最低。后续,我们还计划引入流程引擎系统,依托校内应用和数据,打造更多更好的流程类微应用,同时将开发更多非流程类的微应用,为推动学校信息化做出应有的贡献。

猜你喜欢
母版数据中心统一
酒泉云计算大数据中心
坚持严管和厚爱相统一的着力点
活力(2021年6期)2021-08-05 07:23:54
碑和帖的统一,心和形的统一,人和艺的统一
艺术品鉴(2020年6期)2020-08-11 09:36:34
利用PowerPoint制作多媒体课件
统一数量再比较
民航绿色云数据中心PUE控制
电子测试(2018年11期)2018-06-26 05:56:24
ASP.NET中母版页技术研究
基于母版页在ASP.NET网站测试用例设计
基于云计算的交通运输数据中心实现与应用
Overlay Network技术在云计算数据中心中的应用
河南科技(2014年11期)2014-02-27 14:16:49