构建高校图书馆远程访问系统(一)

2011-11-09 13:43凌征强
中国教育网络 2011年7期
关键词:远程服务器对象

文/凌征强

构建高校图书馆远程访问系统(一)

文/凌征强

编者按:本文从国际主流技术、节约成本、数据安全以及访问性能的角度考虑,采用URL重写及跨域名Cookie技术,结合SSL安全协议、多种身份认证、单点登录、负载均衡等技术研究和构建适合国内高校图书馆实际工作需要的数字资源远程访问系统,共分为两期刊载,本期刊载第一个部分,主要介绍系统的设计和系统的行为建模。

远程访问是指突破IP地址的物理限制,可以在任何能上网的地方使用图书馆电子资源[1]。国外对于远程访问图书馆电子资源的研究,在上世纪中期就已开始,国内也在近几年对该项技术开始研究探求。

本文从国际主流技术、节约成本、数据安全以及访问性能的角度考虑,采用URL重写及跨域名Cookie技术,结合SSL安全协议、多种身份认证、单点登录、负载均衡等技术研究和构建适合国内高校图书馆实际工作需要的数字资源远程访问系统。

系统设计

我们采用URL重写为主要技术构建高校图书馆远程访问系统,结合单点登录和身份认证等多种技术,运用UML建模语言,展开系统行为建模、结构建模以及系统主要功能的详细设计。技术运用

系统应向用户提供多种网络接入方式。为此,系统要提供路由管理模块来确定多宿主主机对某个目标主机或者目标网络的具体路由,来提高系统性能和降低路由成本。

基于Web发布的电子资源,系统采用URL重写技术、跨域名Cookie技术以及单点登录技术,来实现用户端绿色透明的访问,用户可以不用安装任何插件和修改任何设置,即可随时随地访问授权的电子资源。

对于非HTTP的C/S资源,系统采用IRAS插件的方式来实现。当IE或者第三方阅读器(如超星阅读器)要创建TCP(第4层,传输层)连接的时候,插件会截取该网络请求,并检查目标IP地址是否在系统授权服务器插件模式定义的IP范围内。如果在范围内,将目标主机的IP修改为授权访问服务器的IP,端口修改为授权访问服务器的端口;并创建一个协议栈(4.5层,介于TCP和应用层之间),从而保证第5层(应用层)协议都是通过代理隧道进行。

应用于高校图书馆远程访问系统的技术

实现技术

适用于高校图书馆远程访问系统的实现技术主要有代理服务器技术、VPN技术、URL重写技术等,其中URL重写技术是通过URL重写规则来自动完成访问目标与代理服务器间的“映射”关系,无缝、透明地将用户请求转向实际的代理服务器请求,实现用户对相关资源的访问。URL重写技术和跨域名Cookie技术结合,可以很好地实现数字资源远程访问,也是当前国际上主流实现技术。

安全技术

与高校图书馆远程访问系统相关的安全技术包括SSL安全协议、多种身份认证、单点登录等。SSL安全协议是一种在应用层协议和TCP/IP协议之间,为TCP/IP连接提供数据加密、服务器认证、消息完整性以及可选的客户端认证;目前流行的几种身份认证方式包括口令认证、USB Key认证、IC卡认证、生物特征认证、数字证书认证等;单点登录技术是一种认证和授权机制,它允许用户只登录到系统一次,对所有被授权的网络资源进行无缝的访问,无需再进行登录。

负载均衡技术

负载均衡技术是集群系统的核心技术之一,其主要思想是根据某种算法将网络的负载用相应的权值表示服务器的处理能力,将用户的请求分配到不同的服务器和网络设备上,以减轻单台服务器和网络设备的负载,从而提高整个系统的效率。

在要求更高安全性的场合,IRAS插件将用户数据封包后,通过SSL管道传输。

对服务器负载的在线监控,系统采用负载均衡技术实现,可以随时查看每台授权访问均衡主机的负载情况和用户在线情况,并根据流量报告,采取措施将访问对象(数字资源)从一个均衡主机“推向”另一台主机;该操作一键完成,方便快捷;各个授权访问负载均衡主机之间,以及它们和系统的认证主机(管理者主机)之间的通讯均采用通用接口技术来实现,增加系统的可扩展性与开放性。

应用结构

系统应用结构主要由两个部分组成:身份认证服务器(AuthServer)和访问对象代理服务器集群(AuthClient)。AuthServer运行在一台独立的服务器上,主要提供用户身份验证及权限管理、流量控制及日志记录等功能。AuthClient可以安装在每台电子访问对象服务器上。一个AuthClient可以运行多个访问对象代理(Agent),每一个Agent和某个特定的Web访问对象绑定。AuthClient可以和AuthServer安装在一台机器上,这样可以不需要改动其他电子访问对象的服务器设置,但为了避免用户过多时的瓶颈问题,最好可以把Agent代理分散到多个服务器上。系统应用结构设计如图1所示。

安全认证

本系统安全认证采用如下方式:

1.普通认证

本认证是系统默认的用户名密码的静态口令认证方式,系统提供用户管理功能,建立用户ID、用户名、密码等相关项,用户可以在授权服务端利用通用浏览器直接登录本系统授权访问服务。

系统可以采取IP用户和普通用户两种方案。IP用户方案是系统自动把某一范围的IP地址影射到某个用户账号下,这段IP范围内的用户登录远程访问系统的时候,不需要输入用户名和口令,直接可以使用。普通用户是采用传统的用户名和密码机制。

2.USB Key认证

系统将采用最新技术和安全标准,提供USB Key用户管理和USB Key生成器,并提供稳定可靠的USB Key硬件,可以实现按照需求进行设置与定制,并可以提供多种USB Key写入和认证方式,如USB固定Key、USB不同Key等。

3.基于SSL的HTTPS认证

系统提供基于SSL的HTTPS认证,不需要用户端配置如USB Key等的硬件设备,通过SSL安全传输管道将用户名和密码传输给认证服务器,SSL认证采用非对称密钥技术保证数据的隐私,认证数据除了发送者和接受者,其他任何节点即使截获了数据,也无法解码数据。

4.统一认证

系统可以和基于SAML标准与应用系统的统一认证服务无缝集成。在认证过程中,所有用户信息的网络传输都是安全可靠的;采用开放架构,兼容主流技术,保证系统具有很高的整合能力;提供系统平台的配置和开发能力,降低实施难度,保护用户投资。

图1 系统应用结构设计

图2 系统用例间关系、用户与用例之间的关系

系统行为建模

系统用例分析

要设计实现图书馆远程访问系统,首先要对系统的需求进行分析,要做的工作是深入描述目标系统的功能和性能,确定系统设计的限制和同其他系统之间的接口细节,定义系统的其他有效性需求。本文运用UML捕捉系统的功能需求、分析、提取所开发系统领域的类以及描述它们之间合作概况,在完成系统的OOA(Object-Oriented Analysis:面向对象分析)基础上,对系统进行OOD(Object-Oriented Design:面向对象设计)[2]。

采用用例图描述的图书馆远程访问系统包括两类用户:读者和系统管理员,其中读者和系统管理员允许多个。系统用例间关系、用户与用例之间的关系如图2所示。

对于系统,读者可以通过高校的入口网站,比如图书馆门户网站,注册使用图书馆远程访问系统(如果系统管理员已协助添加了对应用户或者其他系统实现认证接口则不需要注册,直接使用对应的用户名和密码可以登录)。由于必须考虑安全问题,防止非本校允许注册的人员随意注册,因此必须有注册信息库,属于注册信息库中允许的人员才能注册,注册时提供的身份ID和移动电话必须与注册信息库中的一致,注册的同时还需要提供短信验证码。注册成功后可以通过用户名和密码登录系统,选择授权可用的重写URL服务(数字资源),系统可自动切换到对应的数字资源访问系统,不用再输入该数字资源的授权账号和密码,进行相关数字资源的检索、查阅,使读者用一个用户名密码就能实现所有授权数字资源的访问,从而实现单点登录、统一用户认证、透明访问图书馆数字资源。

而系统管理员主要负责系统运行的配置以及日常的管理和监控,操作的动作都是属于系统的核心组件,主要包括四部分的操作:

1.系统管理

系统管理包括管理员维护、系统参数配置和认证接口管理。管理员维护允许添加删除以及修改管理员信息,可以针对每个管理员设置允许进入的模组及对应这个模组的增加/删除编辑等权限,并且可以区分只是属于系统监控还是允许修改系统参数,这种允许多个系统管理员的设计便于系统管理的分工,并且能够更细粒度的区分系统权限;系统参数配置用于配置系统运行所需参数,比如用户会话的超时时间,用户使用系统的一个会话超过这个时间就会要求用户重新登录;认证接口管理是用来配置系统认证接口程序,当用户登录的认证需要整合其他系统时,则可以在这里配置实现,比如高校已有图书馆文献集成管理系统,包含有用户库和用户认证功能,那么实现接口程序,然后在接口管理中配置,可以直接使用图书馆管理系统的认证功能,不再需要系统另外维护用户库作为用户认证。

2.用户管理

用户管理首先是维护用户组,针对不同的用户类型进行分组,便于针对群组进行管理;然后维护用户账号,包括新增删除用户或者修改用户的信息,设置用户所属的群组,同时为了方便大批量作业,允许管理员直接按照约定格式从Excel导入用户;维护注册用户库,是为了维护用户注册时的凭证,用户注册系统时提供的凭证比如身份ID、移动电话等,必须在用户库存在的对应的信息凭证才能够允许注册;维护IP黑名单,当发现某些IP存在恶意访问系统时可以暂停或者禁止该IP的访问;而IP用户管理相当于白名单,只要访问系统的IP属于这里定义的IP时,就自动映射为IP用户管理中配置的对应用户,节省用户输入用户名和密码登录的过程。

3.重写URL服务管理

重写URL服务管理包括访问对象组管理、访问对象管理、存取权限管理、IP权限管理、网络接口管理、端口重定向管理和二级代理设置。定义访问对象组主要是针对访问对象即数字资源进行集中式管理,根据访问对象的分类进行分门别类的管理,比如电子资源类、应用系统类等,分组管理不但方便管理访问对象,而且更具有结构性;访问对象管理用于定义系统访问对象,这些对象指能提供某种Internet服务的一个或者一组主机地址以及该服务的访问入口地址和其他相关信息的集合体,Internet服务形式多样,可以是Web网站,或者一个基于Web网站的数字资源,或者非HTTP协议的其他服务,比如购买了中国学术期刊全文数据库,就可以配置这个资源的入口网址,让读者通过图书馆远程访问系统再代理到这个数字资源的入口网站,就可以像在校内一样访问;存取权限管理是用于配置哪些用户组能够访问哪些对象组,分组的重要原因之一也是因为这里配置授权,根据群组进行配置,那么新加用户或者数字资源的时候划分到对应的组时对应的授权也就自然拥有了,而不必是单个用户或者单个资源分别配置;IP权限管理是用于配置哪些网段的读者可以访问哪些对象组,这是结合IP用户管理使用的,省去用户登录的步骤,对不重要的数字资源可以采用这种简化的管理;网络接口管理是用于配置系统发布的Web服务器IP地址和端口,允许配置多个提供给外部系统的连接,比如考虑网速问题,可以分别建立教育网访问速度快的服务器和公众网访问速度快的服务器,那么读者通过高校入口网站登录图书馆远程访问系统时就可以选择合适自己的服务器,这样有助于更快地访问数字资源;端口重定向管理的目的是解决个别数字资源不能正常使用HTTP访问,而需要进行端口转换或者协议转换才能正常访问的情况;二级代理配置是因为个别数字资源必须通过二级代理服务器才能进行访问,那么需要在这里配置对应二级代理服务器信息。

图3 系统的活动流程

4.统计分析

统计分析主要是方便系统管理员日常监控系统运行状况,比如用户在线监控可以实时监控当前的在线用户,当发现有异常的状况,比如流量不正常,可以针对这个用户进行暂时封锁或者永久禁止使用系统;即时流量监控可以实时地监控当前的系统信息流量,以便管理整个网络系统,并进行资源分配和调度;流量统计、访问日志等则是辅助用于日常管理,比如系统出现问题时可查阅相关日志和流量状况,便于查明问题原因并解决。

系统功能设计

考察了系统用例和用例之间的关系之后,可以用UML的动态模型进行形象化描述。下面以读者登录访问系统并选择重写URL服务(数字资源)进行查阅的活动图为例,在上面的面向对象分析与设计、并对系统静态结构的把握后,建立起系统动态数据的逻辑视图,如图3所示,以此为点,可以建立起整个系统的流程分析。

在图3中,关键部分流程为读者“选取某数字资源”,并“进入数字资源访问系统进行查阅”,这是系统设计实现的目的,属于系统核心功能,其他功能包括配置和监控,均是为这一功能服务。(未完待续)

(作者单位为广东外语艺术职业学院图书馆)

扩展阅读

[1]Denise TC. The need to improve remote access to online library resources: filling the gap between commercial vendor and academic user practice. Libraries and the Academy, 2003, 3(4):577-599.

[2]Boggs.W, Boggs.M. UML与Rational Rose 2002从入门到精通. 邱仲潘等译. 北京: 电子工业出版社, 2002: 77-278.

猜你喜欢
远程服务器对象
让人胆寒的“远程杀手”:弹道导弹
远程工作狂综合征
涉税刑事诉讼中的举证责任——以纳税人举证责任为考察对象
判断电压表测量对象有妙招
通信控制服务器(CCS)维护终端的设计与实现
PowerTCP Server Tool
远程诈骗
攻略对象的心思好难猜
得形忘意的服务器标准
计算机网络安全服务器入侵与防御