周益飞+蔡利军
摘要:随着信息化的发展,高校业务系统也得到了普遍应用。这些业务系统在不同时期由不同开发人员开发,采用了各种不同的技术和架构,导致系统的用户和权限资源分散,不便于统一管理。为统一管理和整合各系统的用户和权限,提出了一种基于SOA架构的统一身份认证系统,并提出具体设计方案。该系统具有较强的实用性,能够简化操作且具有更细粒度的分级,使得用户体验更好。
关键词关键词:SOA;统一身份认证;单点登录
DOIDOI:10.11907/rjdk.172413
中图分类号:TP319
文献标识码:A文章编号文章编号:16727800(2017)011006503
0引言
随着高校信息化的不断推进,各种业务系统逐渐增多,信息孤岛问题也越来越突出。各个应用系统维护着各自的一套用户信息,而高校应用系统的使用者基本比较固定,主要为学生和教师,因而各个系统维护着相似的用户群。这不仅加大了维护工作量,而且使信息无法得到充分利用。
统一身份认证系统[1]可以统一标识、统一管理、统一认证分散的用户和权限,不仅可以减少工作量,还可以简化操作。各个业务系统由于开发时期不同,因此使用的开发语言、开发技术,以及开发人员等也不同,导致统一管理比较困难。因此,统一身份认证系统需要兼容各类语言和接口。
面向服务架构SOA(ServiceOriented Architecture)[2]技術是业务驱动的框架标准。SOA将集成程序进行松散耦合分解[3],通过接口使各类程序进行联系。SOA架构为业务系统集中身份认证难题提供了可行的解决方案。
1SOA技术
SOA是基于服务的IT架构,SOA中服务的思想是业务和技术既能完全分离[4],又能自由组合。它将业务系统的不同功能单元拆分成多个子系统[5],这些功能单元也称为服务,服务之间可通过定义良好的接口和契约联系起来。SOA使用户可以构建、部署、整合和调用这些服务,且无需依赖某一具体应用程序及其运行计算平台。
SOA与传统架构相比,具有以下优势[67]:①可以充分利用现有的信息技术资产;②更易于集成和管理;③能更快地整合业务;④减少成本和增加重用;⑤SOA业务流程由一系列业务服务组成,可以更轻松地对其进行创建与修改,以满足不同时期的需要。
2统一身份认证
统一身份认证系统[8]的主要特点是统一标识、统一管理、统一认证用户和权限,所有业务系统的用户和权限进行统一维护。与紧耦合的用户认证方式相比,该方式能为业务系统提供各种接口,且安全性更高[9]。通过绑定接口,业务系统可以直接获得统一身份认证系统对用户和权限信息的反馈,同时统一身份认证系统使用以上接口可以完成各类业务系统的互信和互通。
统一认证模式的核心[10]是为各业务系统提供统一身份认证服务。当用户需要登录某个应用系统时,首先登录统一身份系统验证身份,之后即可访问该用户有权限访问的所有统一身份认证系统已集成的应用系统。
3基于SOA的统一身份认证系统
统一身份认证系统的设计思想是统一管理各业务系统的用户登录,并且给各业务系统提供接口。
对用户而言,用户在登录某个应用系统时,打开登录界面,直接跳转进入统一身份认证的登录界面,通过登录统一身份认证系统进行身份验证后,再进入用户想要访问的系统。同时,用户可以在统一身份认证系统主页面中,访问所有有权限访问的系统,并且根据自己的账号权限选择使用某类权限进入系统,比如有用户具有多个角色,既是系统管理人员,又是普通用户。用户还可以将账号绑定到邮箱或手机,用于忘记密码时重置密码。
对于系统管理人员而言,各应用系统按照统一身份认证的统一接口集成单点登录,单点登录接口完成后由系统管理人员将该业务系统加入统一身份认证的认证管理平台,并进行授权;对所有用户设置用户角色权限,并进行分类和分组,如教职工类人员还可细分成教师和职工组,以更细粒度地管理用户;通过系统的监控模块,监控系统运行情况,并审计用户登录情况,以防暴力破解或非法登录系统等情况出现。
对于其他业务系统建设人员而言,只需按照统一身份认证的集成接口完成单点登录,将业务系统加入统一身份认证的认证管理中。无需在业务系统中单独设置用户权限和角色,以减少用户导入和设置权限等工作量。
因此,统一身份认证系统应包括身份管理模块、身份认证模块、对外服务模块3个功能模块。
3.1系统功能设计
基于SOA的统一身份认证系统功能结构如图1所示。
图1统一身份认证系统功能结构
身份管理模块包括账号管理、认证管理、授权管理、审计管理、系统管理5部分:
(1)账号管理:包括账号列表、批量操作、账号同步、账号统计等功能,可实现身份证号的增加、删除、修改、过期设置、锁定/解锁和加入组操作,还包括转为校友、单账号和批量操作等功能。
(2)认证管理:包括认证应用、认证统计、OAuth管理等功能,可管理需要集成的各类应用系统,以及各类应用系统能访问的用户权限,查询各系统的认证细节,以及各个应用通过统一身份认证访问的统计信息。
(3)授权管理:包括群组授权、用户授权、批量授权、授权统计等功能。将用户进行分组管理,基于性能考虑群组授权和用户授权,通过图表形式的统计账号进行入组和出组操作统计。
(4)审计管理:包括账号审计、认证审计、授权审计、差异审计等功能,以检测认证和授权中出现的问题。账号审计包括对休眠账号、孤儿账号、密码强度不符合规范的账号的审计;认证审计包括对恶意认证账号、暴力破解的账号和恶意认证的IP地址的审计;授权审计包括空组和无组审计;差异审计包括对LADP丢失账号和数据库丢失账号等的审计。endprint
(5)系统管理:包括系统操作日志、服务器状态、会话状态、总体状态、系统告警、监控配置等功能。
身份认证模块包括统一身份认证和单点登录功能,可实现认证过程,使用户能畅快访问系统。
对外服务模块包括集成接口和身份自助服务2部分。
(1)集成接口:包括各类接口,如LDAP接口、CAS接口、OAuth接口、代理接口、SAML接口等。支持各类接口语言,包括Java、PHP、.Net等,支持Android、iOS等手机的登录接入和反向代理认证服务器认证,使各个应用系统能实现统一身份认证和单点登录。
(2)身份自助服务:包括用户信息、找回密码、邮箱绑定、手机号绑定等,以满足用户对自己账号信息和密码信息的维护需求。
3.2SOA在统一身份认证系统中的应用设计
统一身份认证系统通过SOA架构进行分层,一共分为6层:基础功能层、组件层、服务整合层、业务流程层、业务展现层、服务总线。
图2SOA体系结构
(1)基础功能层:统一身份认证系统中的程序资源。
(2)组件层:将底层的业务逻辑封装成组件,并将每个功能模块进行封装,单独调用。
(3)服务整合层,包括3类功能性模块:①业务服务,指比较完整且能暴露给最终用户的服务,如身份自助服务模块;②业务功能服务,主要是一些比较具体的业务操作,可被更上层的服务调用,一般封装在系统操作过程中,如用户信息检索、用户账号存储等;③技术功能服务,主要实现一些底层的技术功能,如日志服务、审计服务等。
(4)业务流程层:通过封装后的服务构建业务系统中的各种流程。如用户登录系统流程为在集成系统中判断用户是否有权限,有权限则进行下一步,登录进入系统。
(5)业务展现层:提供接口服务,可以用基于Portal的系统进行构建,主要通过在web.xml文件中加入对应的过滤器进行配置。
(6)服务总线:提供一个基础环境支持以上5层的运行。
4结语
基于SOA的统一身份认证系统可统一管理校内外各类应用及系统的登录、访问和相互间的认证,充分保证访问时权限的细粒度控制,使得用户体验更好。
参考文献参考文献:
[1]李莉.基于CAS的校園统一身份认证系统的设计与实现[J].教育探索,2016,32(10):7273.
[2]刘伟.基于业务应用集成体系架构探讨[J].软件导刊,2013(8):1719.
[3]徐遇霄.基于Java的SOA分层研究与设计[J].舰船电子工程,2010,30(6):124129.
[4]黄飞飞.基于SOA架构的企业统一用户身份认证平台研究[J].中国管理信息化,2016,19(19):5658.
[5]李若鹭,张静,刘士彬,等.基于SOA架构的移动GIS快速开发平台[J].测绘通报,2013(5):115116.
[6]张亚.基于SOA架构软件服务可靠性评价方法研究[J].计算机技术与发展,2015(4):6770.
[7]吴晓,李丹宁.基于SOA架构的企业信息门户实现[J].贵州科学,2015,33(6):1419.
[8]潜昕,罗沙白,卢康权.构建基于分布式SOA架构的统一身份认证体系[J].软件,2013,34(1):1719.
[9]赵龙,李秀红,马玉爽.OAuth2.0让统一身份认证更安全[J].中国教育网络,2017(1):7475.
[10]赵巍.基于SOA架构的综合行政管理系统开发技术研究[J].价值工程,2015,34(2):185186.
责任编辑(责任编辑:黄健)endprint