APP下载

铁路企业单点登录平台的研究与实现

2014-05-11裴华艳王焕民

铁路计算机应用 2014年4期
关键词:单点账号统一

裴华艳,王焕民

(1.甘肃广播电视大学 教务处,兰州 730030;2.兰州交通大学 机电技术研究所,兰州 730070 )

在铁路企业内部,一般都有OA办公系统、人力资源管理系统、铁路货运制票系统、铁路调度管理系统、铁路一卡通系统等应用系统,这些不同的系统往往是在不同的时期建设起来的,采用了不同的软件设计语言、不同的体系结构、不同的底层数据库,运行在不同的平台上,由不同的厂商开发,使用了各种不同的技术和标准。随着业务系统的不断增加,老的系统不能被轻易替换,新旧系统形成了信息孤岛,各系统独立管理用户,增加了管理员的管理与维护工作;各系统独立分配管理账号口令,独立进行用户身份认证与授权,用户在访问不同的应用系统时,每次都需要输入账号与口令,且需要记忆多套访问口令,多次身份认证使系统应用变得非常不便;新增系统的用户管理与身份认证依旧各自为政,随着系统的不断增加,形成恶性循环。为此,提出铁路企业单点登录平台的研究与实现。

1 单点登录关键技术

1.1 单点登录SSO

单点登录(Single Sign On)是一种访问认证机制[1],允许用户进行一次登录认证,就可以访问已授权的应用系统,而不需要在访问每个系统时都输入账号与口令进行身份认证。单点登录提供了统一的用户管理,集中管理和维护不同应用系统的用户信息与用户账号;同时,通过提供统一的身份认证机制,有效地解决了多次身份认证带来的不便与安全问题。

1.2 LDAP目录服务

LDAP(Lightweight Directory Access Protocol,即轻量目录访问协议)[2],它采用目录树的形式分层存储信息,具有目录信息的检索与管理功能,主要用于从服务器上检索信息,实现对信息的有效管理和访问。

目录服务(D irectory service)是一种技术,它将分布式系统中的用户、资源和其它对象统一组织起来存储为具有描述性属性的对象,统一管理和控制分布在计算机网络中的各类资源,方便用户查找、检索所需的资源。利用目录服务,用户和应用可以通过资源的名称快速查找和定位资源,而不必关心资源的具体位置[3],实现了对资源的透明访问。目录服务具有如下功能:用户的统一认证,系统资源的共享、统一授权、单点统一管理和统一监控等。

LDAP协议是基于C/S模式的,其目录服务建立在C/S模式之上[4],以客户端/服务器的方式工作,所有的目录信息数据存储在LDAP服务器中,一个或多个LDAP服务器组成LDAP目录树[5]。每个LDAP服务器由管理模块、目录服务模块和复制服务模块3个部分组成。

管理模块负责目录信息的管理,确保用户获取准确的目录信息。

目录服务模块由前端和后端两个部分组成,前端负责客户端与服务器之间的网络通信,完成协议解析和分析;后端负责目录数据库的管理。

复制服务模块负责LDAP服务器之间目录数据的复制[5],确保目录服务一致性。

LDAP目录服务逻辑结构如图1所示。

LDAP目录服务的主要工作流程如下:

(1)客户端根据需要向LDAP服务器发送操作请求;

(2)服务器根据请求进行相应的操作;

(3)操作完成后,服务器向客户端返回应答,应答可包含操作结果、操作出错信息或引用。引用表明客户端所需目录不在本服务器,同时返回一个更适宜服务器的URL;

(4)若是引用,返回步骤1,客户端向其他服务器发送请求。

2 单点登录系统的设计与实现

2.1 单点登录系统的系统结构

本系统通过采用基于LDAP的目录服务,将铁路企业内所有的用户信息、账户信息、身份认证、系统登录和资源授权进行集中管理,实现统一的用户管理、身份认证和授权管理,并在此基础上实现单点登录,系统结构如图2所示。

图2 单点登录系统结构图

本系统采用二次身份认证,其中,单点登录服务器主要负责对用户的身份进行主体认证和二次认证,认证机制采用LDAP。LDAP目录服务主要负责集中存储用户信息、用户的身份信息以及每个用户ID与各应用系统账号的映射关系。用户进行单点登录和身份认证的主要流程如下:

(1)用户使用ID通过单点登录门户进行登录;

(2)单点登录服务器获取用户ID信息,查询LDAP目录服务,获取用户的身份信息,进行主体认证;

(3)主体认证完成后,单点登录服务器返回认证通过信息,并列出用户有权访问的应用系统;

(4)主体认证成功后,用户即可直接访问单点登录管理界面列出的应用系统,登录系统时,后台自动进行第二次身份认证,认证会被重定向到单点登录服务器;

(5)单点登录服务器查询LDAP目录服务,获取用户ID与应用系统账号的映射关系,进行第二次身份认证;

(6)第二次身份认证通过后,用户自动登录到应用系统,无需再次输入系统账号与口令,从而实现了单点登录。

2.2 单点登录系统的主要功能模块

2.2.1 统一用户管理模块的设计

统一的用户管理是实现单点登录的基础。本系统采用基于LDAP的目录服务构建统一用户管理,统一存储、管理和维护用户信息和用户账号,实现从一个集中点控制用户ID的注册、注销与用户信息的变更,以及各系统对用户的所有操作。

统一用户管理主要完成3项工作:(1)统一管理和维护用户信息;(2)为用户分配并管理(包括创建、修改、注销)单点登录用户ID;(3)统一存储和管理各应用系统的账号信息。当有人员离职或岗位发生变动时,只需在统一用户管理对其用户ID进行操作,即可改变其访问行为。统一用户管理规避了用户账号和用户信息独立管理的数据不一致性和安全风险,提高了系统的安全性。

2.2.2 基于角色的统一授权模块的设计

用户授权管理即对系统中的角色进行资源分配与权限管理。

本系统提供了两种用户管理机制:

基于分组的用户管理。这种机制将用户根据铁路企业内部的组织机构和部门(又可以划分子部门)划分进行分组,然后在每一个分组中添加用户。

基于角色的用户管理。根据铁路企业内部的职能职权划分创建各种角色,对各类角色进行定义,对不同的角色进行不同的授权,分配不同的资源,设定不同的访问权限。

上述2种用户管理机制的基础上,本系统提供了基于角色的统一授权机制,通过为用户绑定一个或多个角色,实现对用户的授权、资源分配以及访问权限的控制。完整的用户授权流程如下:

(1)新用户在统一用户管理进行注册,添加个人信息并进行分组,即根据用户所属部门将其加入合适的分组;

(2)根据系统角色定义为用户选择角色,建立用户ID与角色的映射关系,根据角色对用户进行授权,即根据角色对用户进行资源分配和权限控制,包括对应用系统的访问权限与操作权限;

(3)用户使用ID进行单点登录,统一身份认证根据用户的角色、授权等信息对用户的身份进行主体认证;

(4)如果用户ID被注销,则其对应的授权信息也将被删除;

(5)当用户的职位或岗位发生改变时,只需改变用户的角色就可以进行重新授权,改变用户的访问权限,而不需要逐个系统改变用户授权,从而实现了对用户授权的集中、统一管理。

2.2.3 统一身份认证模块的设计

为了解决铁路企业内各系统独立认证产生的各种问题,本系统通过统一身份认证将不同异构系统的用户身份认证工作进行集中,统一管理和验证用户的身份。

LDAP目录服务存储了所有用户的身份信息,包括用户的角色信息、授权信息和分组信息,用户ID与角色的映射关系以及用户ID与应用系统账号的关联关系等。用户进行单点登录,统一身份认证根据用户ID查询LDAP目录服务,获取用户的身份信息,对用户的身份进行主体认证,认证通过后,返回用户有权访问的应用系统,用户访问系统,统一身份认证根据用户ID与各应用系统账号的关联关系进行第二次身份认证,认证通过后,即可登录应用系统。

由于用户已经拥有各应用系统的账号,为了不改造原有系统,在系统集成时仍保持各系统的账号,需要建立每个用户ID与各应用系统账号的关联关系,通过管理和维护这张表实现对用户账号的统一管理,关联关系的建立过程如下:

通过主体认证后,用户首次登录每个应用系统时,需要输入各系统的账号与口令,LDAP目录服务将记录并存储这些账号与口令,并将用户ID与各账号进行关联,建立两者的映射关系。用户第二次及后续登录应用系统时,无需再次输入账号口令,统一身份认证将自动查询映射关系表,如果存在映射关系,认证通过,允许用户登录。

当新增一个应用系统时,只需增加用户ID与该系统账号的映射关系,不会对其它系统产生任何影响,从而解决了登录认证时不同系统间用户交叉和用户账号不同的问题。

2.3 系统的实现

在本系统的实现中,统一用户管理、基于角色的统一授权和统一身份认证都基于LDAP目录服务构建,并部署在单点登录服务器上,图3所示为单点登录统一管理界面。

图3 单点登录统一管理界面

在统一管理界面中可以看到已授权应用系统的图标,点击图标,就可以直接访问相应的系统。在系统实现中,主要form表单的实现代码如下:

错误的用户名和口令

在需要添加单点登录的系统登录页面中,读取Form表单id为btnSubm it的提交按钮,同时记录登录用户名id和密码id,加入到单点登录平台中,分配资源并关联用户名和密码,即可实现单点登录的机制。

3 结束语

目前,本系统已投入使用,运行效果良好。通过构建单点登录平台,实现多个应用系统的统一身份认证、统一用户管理和系统资源的统一管理及授权,解决了铁路企业信息共享中因异构系统、异构数据造成的数据整合和界面展示的整合难题,实现了对不同系统应用权限的统一控制和用户信息的统一管理,以及生产、办公各系统间的信息共享,提升了系统应用的便捷性。

[1]皮晓东.单点登录的研究与实现[J].计算机应用与软件,2007,24(6):156.

[2]任 军.基于LDAP的目录服务综述[J].计算机应用研究,2005(5):9.

[3]王电刚.基于LDAP目录服务的单点登录系统的研究与实现[D].四川:四川大学,2004:4.

[4]沈 婧,耿国华,周明全,梁 娜.LDAP目录服务在网络科技资源应用基础环境中的应用[J].计算机应用与软件,2009,26(1):57.

[5]于 剑,张 辉,赵红梅. LDAP目录服务在Web开发中的应用[J].计算机应用,2003,23(10):82-84.

猜你喜欢

单点账号统一
彤彤的聊天账号
坚持严管和厚爱相统一的着力点
施诈计骗走游戏账号
碑和帖的统一,心和形的统一,人和艺的统一
历元间载波相位差分的GPS/BDS精密单点测速算法
统一数量再比较
数字电视地面传输用单频网与单点发射的效果比较
企业信息门户单点登录方案设计
Google Play游戏取消账号绑定没有Google账号也能玩
前后向平滑算法在精密单点定位/ INS 紧组合数据后处理中的应用