【摘 要】随着企业的多个子系统,就可以利用统一用户认证、单点登录等概念来解决这种问题。
【关键词】web service 单点登录 统一用户系统
随着网络技术和信息技术发展,各种应用系统越来越多。对于用户来说每天需要使用的软件系统也很多,由于这些系统相互独立,用户在使用每个应用系统之前都必须按照相应的系统身份进行登录,为此用户必须记住每一个系统的用户名和密码,这给用户带来了不少麻烦。这对于多个运营机构的系统可能是无法避免的,但是对于同一个运营商的多个网站或是一个企业的多个子系统,就可以利用统一用户认证、单点登录等概念来解决这种问题。
1 统一用户认证和单点登录
1.1统一用户认证
统一用户认证为了解决多系统中存在的多重帐号/口令管理而提出的解决方案,它是由统一用户管理、统一身份认证和接口服务等三部分组成。统一用户管理,建立权威的、适合各应用系统使用的统一帐号数据库,帐号数据库可基于活动目录或关系型数据库建立。统一用户管理模块,可供系统管理人员和各单位内部管理员使用,可以分级维护所有的组织单位和人员信息,包括:用户添加、用户管理、组织单位管理、角色管理、用户角色关系配置。接口服务,对外提供标准的,允许其他应用系统调用。主要接口包括:组织架构和用户帐号信息的下载接口;用户登录验证接口;用户管理、组织架构管理的接口等。
1.2单点登录
单点登录(sso,single sign-on)是一种方便用户访问多个系统的技术,用户只需在登录时进行一次注册,就可以在多个系统间自由穿梭,不必重复输入用户名和密码来确定身份。LOcAlhOsT单点登录的实质就是安全上下文(security context)或凭证(credential)在多个应用系统之间的传递或共享。当用户登录系统时,客户端软件根据用户的凭证(例如用户名和密码)为用户建立一个安全上下文,安全上下文包含用于验证用户的安全信息,系统用这个安全上下文和安全策略来判断用户是否具有访问系统资源的权限。
1.3统一用户组的管理
用户组主要用来区别各类不同用户,通过把用户加入到某一个用户组来实现该用户的权限分配。管理员可以添加自定义的用户组,从而实现灵活的系统配置。
2 web service简介
web service主要是为了使原来各孤立的站点之间的信息能够相互通信、共享而提出的一种接口。 web service所使用的是internet上统一、开放的标准,如http、xml、soap(简单对象访问协议)、wsdl等,所以web service可以在任何支持这些标准的环境(windows,linux)中使用。注:soap协议(simple object access protocal,简单对象访问协议),它是一个用于分散和分布式环境下网络信息交换的基于xml的通讯协议。在此协议下,软件组件或应用程序能够通过标准的http协议进行通讯。它的设计目标就是简单性和扩展性,这有助于大量异构程序和平台之间的互操作性,从而使存在的应用程序能够被广泛的用户访问。
3 基于web service的统一用户系统的特点
3.1数据资源安全性
利用web service的开发方法最大程度的保护了数据库资源及用户信息的安全,甚至可以将系统数据库放在内网中,外部用户在登录验证时是无法直接通过网络访问到用户数据库的。而且由于用户的每次数据访问都要通过该系统,我们就可以监控到用户的访问要求是否合法,保障应用了该统一用户系统的其他系统数据资源的安全性。
3.2有效的记录用户的访问行为
同样由于web service的开发模式和用户验证的规则,使用户每一次的数据请求都要经过系统的验证部分,我们可以在这里利用统一的规则截获该用户请求数据的条件,比如检索关键词、查询信息的分类。在记录之后通过某种规则的筛选便可以对用户进行分类细化,从而提供更有针对性的服务及信息推送。
3.3不影响已有的系统核心流程
利用web service技术开发的用户系统可不影响已有其他系统的核心流程,只需要在客户端系统中的注册、登录、修改信息等模块中添加相应的web service方法调用的代码,就可以在客户端系统中进行上述操作的同时完成统一用户数据库的更新。
3.4一次开发多次利用
该系统在第一次开发完成并形成较为详细的开发接口后,对于需要应用该统一用户系统的其他软件系统,只需要在统一用户数据库中为新系统初始化一些基本的权限信息之后就可以开始应用了。对现有的数据库结构及程序不需要做更多的修改。
4 系统的设计原理及方案
4.1设计原理
统一用户系统的核心在于将所有的用户信息保存于中央数据库中,任何用户在访问资源的时候都需要通过web service进行数据调用,所以系统可以在调用数据前对该用户进行验证,进入中央数据库的用户表中验证该用户的有效性,如果验证成功将把这个用户的临时信息写在数据表中,认为是已登录状态,在下次访问时先检测这些临时信息,如果已登录则直接返回数据结果,如果未登录则重新请求验证信息。
4.2利用用户组进行权限划分
在整个统一用户系统中分为三个组群:用户、用户组、资源。其中用户为注册登录过程中的一般使用者;用户组为按一定规则划分的用户;资源则是根据不同系统来确定的,有的系统为某些特定的数据,有的系统为不同的频道,或者是某个功能。用户不与资源产生直接的访问关系,而通过组来完成。
所有的用户都被分到不同的组中,正常情况下,每个用户应只属于一个用户组。对资源的访问关系由组来完成,某一个用户是否对某种资源有访问的权限是由该用户所属的组是否对该资源是否有访问的权限决定的。
4.3重要表介绍
[1] [2] 下一页