一种面向电视台应用的跨域单点登陆系统的制作方法

文档序号:7695344阅读:178来源:国知局
专利名称:一种面向电视台应用的跨域单点登陆系统的制作方法
技术领域
本发明涉及一种单点登陆系统,尤其是涉及一种应用于电视台的主干平 台系统中的跨域单点登陆系统。
背景技术
当前国内外广电行业网络化、信息化程度日益提高。电视台内部根据业 务范围划分为多个不同的业务板块,不同的板块根据其业务需求,往往要使 用不同的应用系统,例如总控收录系统、新闻制播系统、综合制作系统、演 播室系统、媒资管理系统、播出系统等。各个应用系统都需要拥有一份统一 的电视台内部人员组成信息,电视台需要为这些应用系统提供诸如部门人员 结构、栏目组人员结构等信息,并且这些应用系统都需要提供一个登陆时验 证用户名及密码的功能。工作时,用户经常需要在不同的板块之间来回切换。 如果按照传统的开发模式,每个应用系统都必须开发各自独立的用户认证模
块。这种模式主要存在以下弊端
(1 )用户认证信息需要在多个应用系统的数据库中的重复存储,从而带 来大量的数据冗余,也造成了各个应用系统的重复开发;
(2 )对系统的用户认证信息管理和用户的使用造成诸多不便用户在注 册或更改自己的认证信息时,必须在所有的应用系统中逐个注册或更改,在 不同应用系统之间切换时,必须重复多次登录;
(3)在安全性和系统管理方面,电视台需要大量的IT技术管理人员, 分别管理和维护不同系统的用户信息;
(4 )传统的开发模式都是基于关系型数据库的用户认证信息管理模型, 读取速度慢,可移植性差。
电视台信息化建设需要建立可靠、安全、保密的业务系统网络环境,保 证电视台的业务不受破坏和干扰。显然,这些传统的开发模式的诸多弊端已 经严重影响了基于WEB的应用系统的性能和使用的方便性。
所以,在电视台内部提供一个单点登陆系统(SS0S: Single Sign-On
3System),为各个业务板块提供集中配置和统一认证功能是非常有必要的。
单点登录(Single Sign On),筒称为SSO,是目前比较流行的企业业 务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录 一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映 射到其他应用中用于同一个用户的登录的机制。
目前业界已有很多产品支持SSO,如I丽的WebSphere和BEA的WebLogic, 但各家SSO产品的实现方式也不尽相同。WebSphere通过Cookie记录认证信 息,WebLogic则是通过Session共享认证信息。Cookie是一种客户端机制, 它存储的内容主要包括名字、值、过期时间、路径和域,路径与域合在一 起就构成了 Cookie的作用范围,因此用Cookie方式可实现SSO, <旦域名必 须相同。Session是一种服务器端机制,当客户端访问服务器时,服务器为 客户端创建一个惟一的SessionID,以使在整个交互过程中始终保持状态, 而交互的信息则可由应用自行指定,因此用Session方式实现SSO,不能在 多个浏览器之间实现单点登录,但却可以跨域。通常,在一个电视台内部网络 中往往包含了多个子网,每个子网都是一个单独的域,并且各个子网中使用的 软件也不全为B/S结构,也可能是不使用浏览器的C/S结构,所以上述两种方 式在电视台的全台网环境下很难实现。

发明内容
针对现有技术中存在的问题,本发明的目的是提供一种面向电视台应用 的跨域单点登陆系统,该系统能够实现电视台内部处于不同域中的各个应用 系统的单点登陆,应用系统可以为B/S结构或C/S结构。
为了实现上述目的,本发明采用的技术方案是, 一种面向电视台应用的 跨域单点登陆系统,包括LDAP认证服务器、单点登陆服务器和单点登陆客户 端;其中,
LDAP认证服务器位于该系统的最底层,用于存储应用系统的组织结构信 息以及用户信息,并对用户信息或会话令牌进行认证;
单点登陆服务器位于该系统的中间层,解析客户端传来的认证信息或操 作请求,然后对LDAP认证服务器进行相应处理,并获取从LDAP认证服务器返 回的认证或操作结果;单点登陆客户端位于该系统的最上层,用于存储并在应用系统之间传递 会话令牌。
如上所述的跨域单点登陆系统,所述的LDAP认证服务器设有Active Directory服务架构,应用系统的组织结构信息以及用户信息存储在Active Directory中。
如上所述的跨域单点登陆系统,所述的单点登陆服务器包括LDAP适配 器、内部逻辑处理器和对外Web服务接口;其中LDAP适配器位于单点登陆服 务器的最底层,通过针对LDAP认证服务器的相关操作接口与LDAP认证服务 器进行交互;内部逻辑处理器位于单点登陆服务器的中间层,用于单点登陆 服务器内部相关逻辑的处理;对外Web服务接口位于单点登陆服务器的最上 层,提供应用系统对LDAP认证服务器进行操作的接口 。
如上所述的跨域单点登陆系统,所述的对外Web服务接口包括用户登陆 接口、用户注销接口、获耳又Active Directory组织结构信息接口 、令牌验证 接口 、修改用户密码接口 。
如上所述的跨域单点登陆系统,所述的单点登陆客户端设置在要求实现 单点登陆功能的应用系统中。
如上所述的跨域单点登陆系统,还包括一个LDAP客户端,提供对LDAP 认证服务器中Active Directory节点进行操作的用户界面,包括添加、删除、 修改和查询Active Directory节点。
本发明的效果在于,采用本发明所述的系统能够实现电视台内部处于不 同域中的各个应用系统的单点登陆,应用系统可以为B/S结构或C/S结构。 同时通过浏览器,便可实现对Active Directory进4亍节点的增加、删除、修_ 改、查询等操作,而无需登陆到LDAP认证服务器上进行上述操作。


图1是本发明所述的系统架构图;图2是本发明具体实施方式
中在Active Directory中添加节点示意图。 图3是采用本发明所述的系统的单点登录流程图。
具体实施例方式
下面结合实施例和附图对本发明的具体实施方式
进行详细描述。 本发明主要应用于广电领域电视台的主干平台系统中,为电视台内各个 业务板块提供相关部门结构、栏目结构等信息的集中配置以及用户的单点登 陆功能。随着电视台内部业务系统的数字化改造,及台内各种系统网络的构 建,往往一个电视台内部形成了采集收录、新闻制播、综合制作、演播网络、 编排备播、媒资管理、播出分发等众多的应用系统。工作时,用户经常需要 在不同的应用系统之间来回切换,重复验证用户信息,使用非常不便。如何 在电视台内部提供一个单点登陆系统(SSOS: Single Sign-On System),为各 个应用系统提供集中配置和统一认证功能便是本发明所要解决的问题。
如图l所示,本发明所述的跨域单点登陆系统包括LDAP认证服务器、单点 登陆服务器和单点登陆客户端。
LDAP (Lightweight Directory Access Protocol, 轻型目录访问协议)认证 服务器位于本系统的最底层,用于存储应用系统的组织结构信息以及用户信息 等,并对用户信息或会话令牌进行验证。
本实施例中以樣i软的LDAP服务器产品Active Directory来作为电一见台 内部各应用系统的组织结构以及用户等信息的存储体,与传统的数据库存储 方式相比,提高了访问速度。实现本系统需要一台安装有Windows Server 2000/2003操作系统的域控制器,配置好Active Directory后,用来作为本 系统的LDAP认证服务器。所述的Active Directory是指Windows 2000/2003 网络中的目录服务。它有两个作用 一是目录服务功能,Active Directory 提供了 一系列集中组织管理和访问网络资源的目录服务功能,Active Directory使网络拓朴和协议对用户变得透明,从而使网络上的用户可以访 问任何资源(例如打印机),而无需知道该资源的位置以及它是如何连接到 网络的,Active Directory被划分成区域进行管理,这4吏其可以存储大量的 对象,基于这种结构,Active Directory可以随着企业的成长而进行扩展;二是集中式管理,Active Directory还可以集中管理对网络资源的访问,并 允许用户只登陆一次就能访问在Active Directory上的所有资源。
在部署本发明所述系统之前,需要对Active Di rectory进行必要的配置。 本实施例中,在Active Directory中添加三个才艮节点,分别为部门结构、栏 目结构和应用系统。这三个组织单位节点需要用户手工添加,分别代表电视 台内部的部门人员结构、栏目及其栏目成员、电视台全台网中需要实现单点 登陆的应用系统。用户可以在这三个根节点下分别添加相应的隶属节点。如 在部门结构节点下添加电视台、频道、部门、人员等,其中电视台、频道、 部门为组织单位类型的节点,人员为用户类型的节点。在栏目结构节点下添 加具体的栏目名(安全组类型的节点)以及在应用系统节点下添加具体的应用 系统,如图2所示。
然后设置LDAP认证服务器的名称项(可以填域控制器的IP地址或者"域控 制器名.域名.扩展名")、访问LDAP认证服务器的用户DN (Distinguished Name, 可区分名称)、访问LDAP认证服务器的密码、部门人员的根DN(以节点DN格式 表示的字符串,对应于部门结构节点)、栏目设置的根DN(以节点DN格式表示的 字符串,对应于栏目结构节点)、应用系统的根DN (以节点DN格式表示的字符串, 对应于应用系统节点)、令牌的最长生命期(分钟)以及会话日志的保留天数等。
单点登陆服务器位于本系统的中间层,用于解析应用系统客户端传来的认 证信息或操作请求,然后对LDAP认证服务器进行相应处理,并获取从LDAP 认证服务器返回的认证或操作结果。单点登陆服务器包括LDAP适配器、内部 逻辑处理器和对外Web服务接口 。
LDAP适配器位于单点登陆服务器的最底层,通过针对LDAP认证服务器的 相关操作接口与LDAP认证服务器进行交互。本实施例中,LDAP适配器支持 Active Directory。由于底层采用LDAP适配器,与其他模块的耦合度很低,因 此当需要提供对Active Directory以外的LDAP认证服务器的支持时,可以非 常方便的扩展。
内部逻辑处理器位于单点登陆服务器的中间层,用于单点登陆服务器内部 相关逻辑的处理。
对外Web服务接口位于单点登陆服务器的最上层,为各个应用系统提供对
7LDAP认证服务器进行操作的接口。该层以Web Service方式提供对外接口 ,包 括用户登陆、注销、获取Active Directory组织结构信息、令牌验证、修改用 户密码等功能。对外Web服务器主要接口的功能描述如下。
(1) changePassword 功能描述更改登录密码。 语法
public String changePassword (String systemdn, String userdn,
String oldpassword, String newpassword)
参数含义
systemdn:应用系统的DN (Distinguished Name,可分辨名称),该DN 由系统实施人员统一在LDAP服务器上配置,并告知各个应 用系统。
userdn:用户的DN。 userdn是一个用户的以LDAP方式表示的一个p舉 一标识,其基本形式为
CN=Administrator, CN=Users, DC=CETV, DC=com 其中,两个DC分别表示LDAP认证服务器的域名及域扩展名。 该l直可通过后面的getOrganizationlnfo的函凄史获耳又到。 oldpassword: 密码修改前使用的旧密码。 newpassword:要修改的新密码。 返回值返回"",表示调用成功,如果有错误发生,则返回包含错误信息 的XML。
(2) get0rganizat ionlnf o 功能描述获取组织结构信息。 语法
public String getOrganizationlnfo (String systemdn) 参数含义
systemdn:应用系纟克的DN。 返回值返回的内容为一个XML的字符串,组织节点的主要内容包括 name、 dn、 type、 oid。 name是该节点的名-尔;dn 4戈表在LDAP i人i正月良务器中的唯一标识;type表明了该组织节点的类型,如电一见台、频道、部门、 栏目、用户、应用系统等;oid是组织节点的代码。 (3) logon
功能描述登录到SS0S。 语法
public String logon (String systemdn, String userdn, String
pas sword)
参数含义
systemdn:应用系纟克的DN。
userdn:用户的DN。
password: 用户密码。 返回值返回的内容为一个XML的字符串。从XSD中可知,返回的XML 有两种情况错误消息或者是登录后的令牌。 使用logon登录后,返回的错误消息示例
< xml version="l. 0" encoding="GB2312" > <AG0G0>
〈ErrorResult〉-验证失败,用户名错误〈/ErrorResult〉 </AG0G0>
使用logon登录后,成功登录示例
< xml version="l. 0" encoding-"GB2312" 〉 〈AG0G0〉 <Token>
<TokenID>1684</TokenID>
<UserName>aa</UserName>
<UserDN>CN=aa, 0U=AutoCM, 0U-新闻频道,0U=CCTV电4见台,0U—则试自然状态,011=测 试单点登录,DC=CCTV, DC=local </UserDN〉
<CreateTime〉2007-03-29 16: 45: 26</CreateTitne〉
<ExpireTime>2007-03-29 16: 47: 26</ExpireTime>
<SystemDN〉CN=AutoCM, 0U=测试应用系统,0U=测试单点登录,DC= CCTV, DC=local</SystemDN>
</Token> </AG0G0>
与下面的1ogon2不同,此API中不包含主机IP的信息,所返回的XML中SystemDN节点为输入的SystemDN。
(4) 1ogon2
功能描述输入IP地址,并登录到SS0S。 语法
public String 1ogon2 (String systemdn, String userdn, String
password, String hostip)
参数
systemdn:应用系统的既 userdn:用户的DN。 password: 用户密码。
hostip:用户登录时所在的IP地址,通过此IP,可获得其对应的 sys temdn。
返回值返回的内容为一个XML的字符串,分为有两种情况错误消息或 者是登录后的令牌。
使用logon登录后,成功登录示例
< xml version="l. 0" encoding="GB2312" > <AG0G0> <Token>
<TokenID>1696</TokenID〉 <UserName>rongly</UserName>
<UserDN〉CN=rongly, 011=镏金岁月,0U-电影频道,0U=CCTV电视台,0U-测试自然状 态,011=测试单点登录,DC=CETV, DC=local </UserDN>
<CreateTime>2007-03-29 17: 57: 24</CreateTime>
<ExpireTime>2007-03-29 17: 59: 24</ExpireTime〉
<SysteraDN〉CN=AutoCM, 011=测试应用系统,0U-测试单点登录,
DC=CETV, DC=local</SystemDN> <SystemDN>CN=NETAUT0, 0U-测试应用系统,011=测试单点登录,
DC=CETV, D01ocal〈/SystemDN〉
</Token> </AG0G0>
与前面的logon不同,此API中包含主机IP的信息,所返回的XML中 SystemDN节点为与该IP对应的所有SystemDN。
(5) logoff功能描述注销。 语法
public String logoff (String systemdn, String tokenid) 参数含义
systemdn:应用系统的DN。
tokenid:令牌的ID,该值从登录后返回的令牌中获取。 返回值如果返回的是零长度的字符串,表示调用成功,如果有错误发生, 则返回包含错误信息的XML。 (6) val idToken
功能描述验证Token的有效性 语法
public String validToken (String systemdn, String tokenid) 参数含义
systemdn:应用系统的DN。
tokenid:令片皁的ID。 返回值如果令牌有效,则返回令牌XML;如果无效,则返回包含错误信息 的XML。
单点登陆客户端,位于本系统的最上层,用于存储会话令牌并实现会话 令牌在不同应用系统之间的传递。在本实施例中,将单点登陆客户端设置在 需要实现单点登陆功能的应用系统中。
如图3所示,采用本发明所述的系统实现单点登陆的过程如下。
假设有一个应用系统Appl,首先需要配置Appl的DN。 DN是Appl在本系统 中的唯一标识,由LDAP认证服务器提供,并存储在LDAP认证服务器中。
配置好Appl的DN后,用户可以使用对外Web服务接口层中的 getOrganizationlnfo接口函数获取Appl在Active directory中的组织结 构数据。根据需要有选择的处理这些数据,形成自己的用户数据,这些数据 中最重要的是本系统经常使用的DN信息。
本实施例中,假设有一个应用系统A卯l。用户首次登陆Appl时,将Appl 的DN、用户DN以及用户密码传送到LDAP认证服务器,LDAP认证服务器先才艮据Appl的DN验证Appl是否是统一认证的用户系统,再根据用户DN和用户 密码验证用户的合法性,如果通过验证,则登陆成功,否则返回错误消息。
当用户登陆A卯l成功后,从单点登陆服务器返回给Appl —个针对该用 户的会话令牌,然后Appl的客户端程序调用单点登陆客户端提供的API,利 用该API将会话令牌存储到Appl的注册表中。
会话令牌是一个XML字符串,其结构如下
<xs:complexType name=',Token—Type"> <xs:scqucnc6〉
〈xs:element name='TokenID" type="xs:string"> <xs:annotation>
〈xs:documentation〉令牌的ID〈/xs:documentation〉 </xs:annotation> </xs:dement>
〈xs:element name=',UserName" type="xs:string">
<xs:annotation>
〈xs:documentation〉用户名称々xs:documentation〉
</xs:arniotation〉 </xs:demcnt>
〈xs:element name二"UserDN" type="xs:string"> <xs:annotation〉
〈xs:documentation〉用户的DN, DN-
DistinguishedName〈/xs:documentation〉 </xs:annotation> </xs:element>
〈xs:element name-"CreateTime" type="xs:string"> <xs:annotation>
〈xs:documentation〉令牌的创建时间,格式为2000-01-01 12:12:12</xs:documentation> </ xs: annotation> </xs:dem6nt>
〈xs:element name^"ExpireTime" type="xs:string"〉 <xs:annotation>
〈xs:documentation〉令牌的失效时间,格式为2000-01-01 12:12:12</xs:documentation〉 </xs: annotation </xs:element>
〈xs:element name="SystemDN" type="xs:string"> <xs:annotation〉
〈xs:documentation〉第一次从哪个应用系统登录,此为该应用系统的 DN,该DN在LDAP中配置,并告知各个应用系统〈/xs:documentation〉 〈/xs:annotation〉 </xs:elemoit> 〈/xs:s叫u6ncc〉 </xs: complexType>当用户登陆另一个应用系统App2时,App2的客户端程序(C/S模式)或 者浏览器(B/S模式,此时需要使用javascript)调用单点登陆客户端提供 的获得会话令牌函数,获取该用户登陆Appl后的会话令牌,然后将获得的会 话令牌传送到LDAP认证服务器,LDAP认证服务器先根据App2的DN验证该 应用系统是否是单点登陆的用户系统,再验证会话令牌的合法性。如果通过 验证,则允许用户登陆,同时更新并返回该用户的会话令牌,App2调用单点 登陆客户端提供的存储会话令牌函数将更新后的会话令牌保存到App2的注 册表中,如果失败则通知App2的客户端程序或浏览器显示登录界面,独立登 录,登录成功后同样需要保存会话令牌。无论是Appl还是App2,在用户注 销后都需要执行单点登陆客户端提供的删除会话令牌函数,以便单点登陆客 户端确定是否有必要保存当前的会话令牌。
用户可以用与登陆App2同样的方式登陆其他应用系统。
此外,为了方i"更对LDAP认证服务器中Active Directory存储的内容进行 操作,本系统提供一个基于B/S结构的LDAP客户端,隶属于内部逻辑处理器层。 利用LDAP客户端提供的用户操作界面,可以对Active Directory上存储的电 一见台内部人员结构信息,即Active Directory节点进4亍增加、删除、ff改和查 询等搡作,而无需登录到LDAP认证服务器上进行相关操作。
实现本系统还需要满足以下条件。
(1) 单点登陆服务器必须隶属于一个Active Directory域中,并且单点 登陆服务器能够被要求实现单点登陆功能的应用系统访问。如果不能满足该 条件,将无法对Active Directory进行相关节点的查询、添加、删除、修改 功能,进而导致统一认证功能无法实现。
(2) 以单点登陆方式访问应用系统时,要以一个对注册表具有操作权限的用 户登陆。由于单点登陆客户端在用户登陆的时候将涉及到令牌信息在注册表中 的存取和修改操作,如果当前用户不具备对注册表操作的权限,将无法在某个 应用系统关闭后,持久化地保存用户会话令牌信息。
需要说明的是本发明所述的系统并不限于具体实施方式
中所述的实施 例,本领域技术人员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围。
权利要求
1.一种面向电视台应用的跨域单点登陆系统,其特征在于该系统包括LDAP认证服务器、单点登陆服务器和单点登陆客户端;其中,LDAP认证服务器位于该系统的最底层,用于存储应用系统的组织结构信息以及用户信息,并对用户信息或会话令牌进行认证;单点登陆服务器位于该系统的中间层,用于解析应用系统传来的认证信息或操作请求,然后对LDAP认证服务器进行相应处理,并获取从LDAP认证服务器返回的认证或操作结果;单点登陆客户端位于该系统的最上层,用于存储并在应用系统之间传递会话令牌。
2. 如权利要求1所述的跨域单点登陆系统,其特征在于所述的LDAP 认证服务器设有Active Directory服务架构,应用系统的组织结构信息以及 用户信息存储在Active Directory中。
3. 如权利要求1所述的跨域单点登陆系统,其特征在于所述的单点登 陆服务器包括LMP适配器、内部逻辑处理器和对外Web服务接口;其中LDAP 适配器位于单点登陆服务器的最底层,通过针对LDAP认证服务器的相关操作 接口与LDAP认证服务器进行交互;内部逻辑处理器位于单点登陆服务器的中 间层,用于单点登陆服务器内部相关逻辑的处理;对外Web服务接口位于单 点登陆服务器的最上层,提供应用系统对LDAP认证服务器进行操作的接口 。
4. 如权利要求3所述的跨域单点登陆系统,其特征在于所述的对外 Web服务接口包括用户登陆接口 、用户注销接口、获取Active Directory组 织结构信息接口、令牌验证接口、修改用户密码接口。
5. 如权利要求1所述的跨域单点登陆系统,其特征在于所述的单点登 陆客户端设置在要求实现单点登陆功能的应用系统中。
6. 如权利要求1至5之一所述的跨域单点登陆系统,其特征在于所述 的系统还包括一个LDAP客户端,提供对LDAP认证服务器中Ac ti ve D i r ec t or y 节点进行操作的用户界面。
7. 如权利要求6所述的跨域单点登陆系统,其特征在于对LDAP认证 服务器进行的操作包括添加、删除、修改和查询Active Directory节点。
全文摘要
本发明公开了一种单点登陆系统,尤其是公开了一种面向电视台应用的跨域单点登陆系统。在现有的单点登陆系统中无法同时实现跨域和在多个浏览器之间实现单点登录。本发明所述的系统包括LDAP认证服务器、单点登陆服务器和单点登陆客户端;LDAP认证服务器用于存储应用系统的组织结构信息和用户信息,并对用户信息进行认证;单点登陆服务器向LDAP认证服务器提交认证信息或其它操作请求,并从LDAP认证服务器获取认证结果或操作结果,单点登陆客户端用于在应用系统之间传递会话令牌。采用本发明所述的系统能够实现电视台内部处于不同域中的各个应用系统的单点登陆,应用系统可以为B/S或C/S结构。
文档编号H04N5/262GK101605031SQ200810114900
公开日2009年12月16日 申请日期2008年6月13日 优先权日2008年6月13日
发明者伟 孙, 张云锋, 王弋珵 申请人:新奥特(北京)视频技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1