门户网站群用户信息整合模型的研究与应用,本文主要内容关键词为:门户网站论文,用户信息论文,模型论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
随着政府部门网站建设的深入发展,一些省市政府除了拥有相当规模的政府网站之外,开始将其下属部门的网站纳入其网站主页中,形成了政府门户网站(e-Government Portal)的雏形。在这个阶段,公众要获得政府的服务,即使不知道具体应该登录哪个部门的网站,只需进入政府门户网站,就可以通过门户网站重定向到相关部门的网站来实现。但这仅仅是实现了用户界面级的整合。而作为一个理想的网上政府模型,网上政务服务的提供将应是单一入口的一站式服务。也就是说公众无须知道他所要办理的事务牵涉到具体哪些部门以及这些部门之间办理的先后顺序,他只要知道他要办什么,然后无论是在政府网站也好,其他部门网站也好,只要找到提供此业务的功能栏目,就可以在该应用系统的引导下,完成整个事务的办理。
但事实上虽然不少省市的部门网站业务处理功能已经日趋成熟,但由于缺乏统筹规划以及各系统平台的异构性,作为门户网站群信息资源整合的关键内容,各子网站用户信息以及相应的鉴权和授权子系统间无法整合、共享和同步,从而形成“信息孤岛”,市民在涉及跨部门的网上办事过程中仍无法摆脱在各个部门网站间多次注册和登录的困境,成为电子政务应用推广过程中的一大障碍,并且子网站间同一用户信息由于多头注册和无法同步造成的信息冗余和不一致,也严重制约了网上服务的进一步发展。因此,在尽量不改变政府部门网站原有系统的前提下,研究设计一个切实可行的用户信息整合模型一直是政论门户网站群信息资源整合利用的关键所在。
1 传统单位点登录整合模型概述
一个典型的电子政务部门网站体系结构如图1所示。与一般简单的信息发布类网站不同。政府门户网站的发展将着重于网上政务服务的提供。因此,网站架构中与用户信息相关的个性化、目录服务、授权认证、授权访问等子系统的作用十分重要。这些直接决定了用户身份的识别,用户可以访问哪些信息资源和服务,以及对用户访问行为的分析[1]。其中对访问行为的分析将为政府部门提高服务效率和服务质量提供决策参考。由此可见用户信息的整合在门户网站群信息资源整合中的重要地位。
图1 电子政务门户网站构架示意图
用户信息的整合一般统称为单点登录(Single Sign-On,SSO)模型。单点登录是指用户只需在网络中主动地进行一次身份认证,随后便可以访问其被授权的所有网络资源,而不需要再主动参与其他的身份认证过程[2]。单点登录是应用系统资源整合的基础之一,也是面向服务的架构(Service-Oriented Architecture, SOA)设计在安全方面的重要内容。
传统基于Web Service的单点登录模型在部署过程中需要对原有各系统的认证、授权模块进行修改,且无法整合不支持Web Service的业务系统。因此,在存在大量遗留业务系统的情况下,实际可操作性较差。而基于Agent的单点登录模型如Sun公司的Sun ONE Indentity Server Policy Agents[3] 只需在原有子网站的Web服务器中安装相应的Agent并进行配置,无需修改原有系统的代码即可实现, 但常会由于各了网站采用的系统软件产品、版本各不相同,在实施过程中很难找到全套对应的Agent产品。
本文在对上述两大类单点登录模型深入分析的基础上,结合门户网站用户信息单点登录整合实际,提出了基于反向代理的单点登录模型,在应用中具有较强的可操作性。
1.1 基于Web Service的单点登录模型
基于Web Service的单点登录模型以LDAP[4] 目录服务作为整个系统用户账号管理的核心,利用Web Service跨平台的特点实现不同子网站应用间用户信息的整合。各子网站应用使用Web Service客户端接口来查询权限信息并获得共享的信息资源。客户端只是一个接口,而具体的实现是在单点登录模型中完成的,只要保持客户端接口不变,整个单点登录的修改和升级不会对整个网站群的运行造成影响。由于直接在各应用系统开发调用单点登录服务的接口,比较适合新建系统间的整合。同时,Web Service本身的特点就解决了异构系统间信息资源整合的难题,不存在B/S、C/S应用架构差异的限制,也打破了不同操作系统平台之间的鸿沟[5]。但缺点是需要对原有系统的用户信息、权限控制模块进行修改,而修改、调试客户端接口将导致较长时间的停机和并势必影响系统运行的稳定性,这对于政府网站而言是难以接受的。另外,现实中原有系统开发文档的质量差、熟悉系统维护修改人员的缺乏等问题,也是阻碍系统整合成功实施的主要不利因素。因此,在需要整合大量正在运行的子网站系统时,该模型的可操作性较差。
1.2 基于Agent的单点登录模型
基于Agent的单点登录模型分为两个部分:一是在需要整合的子网站Web服务器上安装一个Agent Filter以获取访问者对保护资源的访问请求;另一部分则是一个安装在应用服务器的模块用于提供与LDAP认证服务器的访问。
Agent工作在Web服务器或应用服务器前端,用于截获用户请求,检查用户是否已经认证,并判断用户拥有的权限,从而决定是否可以访问特定的资源。当用户用浏览器访问受保护的网络资源时,Agent首先解释该请求, 检查请求是否提交了会话ID。如果没有发现,则Agent将浏览器重定向到用户认证模块。用户成功认证后,再访问受保护的资源时,Agent会得到用户的会话ID,然后Agent将向身份认证服务器请求询问此会话ID对应的会话信息。如果会话有效并有权访问此资源,则向用户成功返回所访问的资源。
这个整合模型的优点在于不必改动原有系统, 只要安装后对需要控制访问的URL资源进行配置即可。但问题是安装的Agent与操作系统、Web服务器、 应用服务器的平台以及版本都密切相关,若没有与该平台环境相对应的Agent,那就很难实施成功,因此不太适合那些异构业务系统数量多,同时各系统的平台和软件架构、版本差异都较大的场合。
2 基于反向代理的用户信息整合模型
反向代理服务应用在网站系统中一般有两大用途:一是安全反向代理,作为网站Web服务器的替身,以提高网站系统的安全性;二是Web内容缓存,多台缓存网站内容的反向代理服务器以服务器负载均衡的方式运行,可以起到降低Web 服务器负载,提高网站访问效率的作用[6]。上述基于Agent的单点登录方案可以在不改动原有系统的前提下实现单点登录,这是保障系统整合实际可行的前提,但由于Agent是分布式部署到各个子网站的,因此无法应对各个部门复杂多样的平台状况。针对上述情况,借鉴反向代理器在网站服务器群架构中所起的虚拟集中的作用,提出了如图2所示的集中式基于反向代理的用户信息整合模型。
图2 基于反向代理的用户信息整合模型构架示意图
这里,我们利用反向代理服务器的多虚拟主机功能以及URL重定向功能, 将物理上分散在全市各地的子网站虚拟为门户网站相应的子目录, 这样就可以将基于Agent 模型中分散于各子网站的用户登录请求集中到了门户网站的反向代理服务器上,避免了因各部门系统平台不同而带来的问题。
用户访问子网站受保护资源的过程大致可分为如图2所示9个步骤:(1 )用户递交访问门户网站某部门子网站A—1受保护资源abc的请求http://www.A—1.gov.cn/abc。(2)访问A—1的请求经DNS解析实际递交至门户网站A 的反向代理服务器。由于反向代理服务器将各个部门子网站以多虚拟主机的形式运行,该请求被自动翻译为访问门户网站的目录A—1,因访问资源是受保护的,系统要求用户递交认证信息。(3)用户递交账号、口令等认证信息。(4)认证模块通过访问LDAP服务器检查用户的认证信息是否正确和合法。(5)当用户的认证信息获通过后,将用户信息经过加密生成一个cookie形式的信任状(Credential)并保存在用户的会话中。(6)授权策略控制模块将递交的用户信任状解密, 并检查该用户是否有权访问该资源。(7)确认有权访问后,通知反向代理服务器。(8)反向代理服务器将访问请求重定向至子网站A—1。(9 )访问的应答内容经反向代理服务器转发给用户,访问流程结束。
在用户认证和授权整个过程中,网站系统包括各部门子网站只需维护一个LDAP服务器上的用户信息,避免了维护多个用户信息库所带来的数据同步问题。另外,通过只传递包含用户信息的加密信任状而不是用户口令的机制,降低了口令被截获破解的风险。
3 模型的关键模块
3.1 反向代理服务
反向代理服务是系统的重要模块之一,其核心是通过对URL的自动翻译, 实现用户的透明访问,也就是把所有子网站映射为反向代理服务器的相应目录,然后把用户需要访问子网站服务器的请求自动翻译为对代理服务器子目录的访问。
由于返回的页面资源中如图片、超链接等还可能带有子网站的URL, 因此需要对子网站服务器返回的信息进行过滤,对于那些位于反向代理范围内的URL 信息要改写为通过反向代理服务器访问的形式。自动翻译采用正则表达式和正则自动机实现,对于一些动态网页内容的翻译,可通过基于正则表达式的模版来完成。
3.2 基于角色的授权
对于受保护资源的授权访问控制是系统的另一个重要模块,系统采用了基于角色的用户访问控制模型RBAC(Role-Based Access Control)。RBAC[,0]模型定义如下,其中U,R,P和S分别表示用户、角色、许可和会话[7]:
(1)PAP×R,给角色赋予许可权限是一个多对多的关系;
(2)UAU×R,给用户赋予角色也是一个多对多的关系;
(3)user:S→U,将每个会话映射到对应的用户user(S[,i])的函数;
(4)roles:S→2[R]是一个将每个会话s[,i]映射到角色集roles(s[,i] ){r│(user(s[,i]),r)∈UA}的函数,其中会话s[,i]具有许可Ur∈roles(s[,i]){p│(p,r)∈PA}
在实际应用中上述模型还需具有许可的继承和约束两大特性,也就是需要实现RBAC[,3],为了管理上更加灵活便捷还结合LDAP引入了用户组的概念。
基于RBAC的授权策略控制包括两个阶段的映射:(1)角色对资源的映射, 资源按照允许访问的不同角色加以保护;(2 )用户/用户组对角色的映射:即用户或用户组按照他们的职能等不同分别映射至相应的角色。
4 总结
本文提出的基于反向代理的用户信息整合模型在政府门户网站群的初步应用试点表明:采用反向代理的方式对原有系统改动较小,系统停止服务调试的时间较短,网站群整合后仍保证了用户的透明访问,特别适合那些需要整合的异构网站系统数量多,只允许进行短暂的停止服务的场合。此模型将反向代理与RBAC的授权控制以及信任状机制相结合,为大型松散耦合型系统中用户信息资源的整合提供了安全,可行的解决方案。该模型在实现网站群整合的同时,还实现了用户信息和访问日志信息的集中管理,为面向网民的访问行为分析提供了可能。今后的研究将集中在利用这些访问信息,运用数据挖掘技术将网民自身的基本信息与其访问行为相关联进行深入分析,为政府部门进一步提高政务信息的利用率,打造服务型政府提供决策支持。
收稿日期:2007—05—08