用于为ldap客户端提供服务的方法、装置和中央服务器的制造方法

文档序号:6485150阅读:149来源:国知局
用于为ldap客户端提供服务的方法、装置和中央服务器的制造方法
【专利摘要】本发明涉及用于从具有多个后端的中央服务器向轻量目录访问协议LDAP客户端提供服务的装置、方法和中央服务器。从LDAP客户端接收对于访问服务的LDAP请求,并根据LDAP请求识别所请求的服务。根据为所请求的服务预先定义的规则调度一个或多个后端以提供服务,该规则指示哪个(哪些)后端要用于所请求的服务。根据该规则用相应后端请求查询所调度的后端以获得后端响应。形成基于所获得的后端响应的LDAP响应,并将所述LDAP响应提供给LDAP客户端。这允许具有多个后端的中央服务器以更高效的方式为LDAP客户端提供服务。
【专利说明】用于为LDAP客户端提供服务的方法、装置和中央服务器
【技术领域】
[0001]本发明一般涉及轻量目录访问协议(LDAP)领域,并且尤其是涉及用于为LDAP客户端提供服务的方法、装置和中央服务器。
【背景技术】
[0002]在电信网络环境中,用于登录UNIX服务器或网络单元(NE)的用户账户由中央服务器管理,中央服务器一般是中央认证和授权服务器。用户的信息(比如用户账户)例如存储在目录服务器或关系数据库中。随着技术的进步,一个目录服务器或关系数据库可用于不同的应用,而一个应用也可使用不同的目录服务器或关系数据库。
[0003]由于历史原因,特别是为了认证和授权的目的,中央服务器将包括用于服务于不同客户端的不同类型目录服务器或关系数据库。目录服务器和关系数据库等在下文被统称为“后端”。现有后端例如包含LDAP服务器、RADIUS(远程访问拨入用户服务)服务器、Mysql服务器、MS SQL服务器、Oracle数据库、DB2或XML文件等。有时,它们中的一个或一些一起用于充当用于认证和授权或其它服务的中央用户数据库。
[0004]现今,LDAP客户端(例如pam_ldap (LDAP可插入式认证模块)或nss_ldap (LDAP名称服务开关))经常安装在例如UNIX服务器或NE中以向LDAP服务器请求诸如认证、授权、密码改变、名称服务等服务。然而,尽管中央服务器可具有多个后端,LDAP客户端仅能支持与LDAP服务器的连接,但它们不能与其它后端交互作用。如果UNIX服务器或NE要使用其它后端中的信息,则它们需要安装用于相应后端的客户端。这意味着,每当在中央服务器中引入新后端时,可请求服务的所有UNIX服务器或NE都将必须升级以具有对应客户端。所有这些都高度增加了服务器管理成本和客户端升级成本。

【发明内容】

[0005]本发明的目的是提供改进的方法、装置和中央服务器以消除至少一些上面提到的缺点。
[0006]根据本发明的第一方面,本发明提供了用于从具有多个后端的中央服务器向轻量目录访问协议LDAP客户端提供服务的装置。该装置包括:LDAP对接单元,配置成从所述LDAP客户端接收对于访问服务的LDAP请求,并向所述LDAP客户端提供LDAP响应;后端调度单元,配置成根据所述LDAP请求识别所请求的服务,并根据为所请求的服务预先定义的规则调度一个或多个后端以提供服务,所述规则指示哪个(哪些)后端要用于所请求的服务;以及后端对接单元,配置成根据所述规则用相应后端请求来查询所调度的后端,并获得后端响应。后端调度单元进一步配置成基于所获得的后端响应形成对LDAP客户端的LDAP响应。
[0007]这提供了将LDAP客户端与不同后端连接的机制,原因在于通过将LDAP请求描述为服务而将LDAP请求变换成相应的后端请求。这也使中央服务器中后端的类型和数量对LDAP客户端隐藏了,原因在于后端被合并了,并且作为整体运作,就像单个中央用户数据库。因而,LDAP客户端可与不同后端“谈话”,并且利用来自多个后端的用户信息或其它资源。即便中央服务器中的后端改变了,但也没有对于在UNIX服务器或NE中安装新客户端或移除其中旧客户端的需要。这实质上降低了适应于后端改变的成本和影响,并使中央服务器能够以更高效的方式提供其服务。
[0008]优选地,更新所述规则以适应于所述中央服务器中的后端改变。
[0009]这允许在中央服务器中后端改变的情况下灵活地配置或修改后端协作的方式。
[0010]优选地,所述规则进一步指示所请求的服务与相应后端请求之间的映射关系。附加地,所述后端对接单元基于所述映射关系生成对于每个所调度后端的后端请求。备选地,所述规则进一步指示所调度的后端所遵循的操作逻辑。
[0011]这允许容易地将新类型的后端与新协议结合。
[0012]优选地,所述后端调度单元配置成组合所获得的后端响应中的信息或移除所获得的后端响应中的重复信息。
[0013]所述多个后端可包括LDAP服务器、RADIUS服务器、MS SQL服务器、Oracle服务器、DB2服务器或XML文件。
[0014]根据本发明的第二方面,本发明提供了用于从具有多个后端的中央服务器为轻量目录访问协议LDAP客户端提供服务的方法。所述方法包括如下步骤:从所述LDAP客户端接收对于访问服务的LDAP请求;根据所述LDAP请求识别所请求的服务;根据为所请求的服务预先定义的规则调度一个或多个后端以提供服务,所述规则指示哪个(哪些)后端要用于所请求的服务;根据所述规则用相应后端请求来查询所调度的后端以获得后端响应;以及基于所获得的后端响应形成LDAP响应,并向所述LDAP客户端提供所述LDAP响应。
[0015]根据本发明的第三方面,本发明提供了包括根据本发明的装置的中央服务器。
[0016]根据本发明的第四方面,本发明提供了包括其上具有计算机可读代码的计算机可读介质的计算机程序产品,所述计算机可读代码当在计算机中加载时使计算机执行根据本发明的方法。
【专利附图】

【附图说明】
[0017]根据优选实施例和附图的如下描述,本发明的以上和其它目的、特征和优点将变得更加明显。
[0018]图1例证了用于提供服务的现有技术系统的示例。
[0019]图2例证了用于经由多个后端提供服务的现有技术系统的另一示例。
[0020]图3例证了在其中实现本发明一个实施例的系统。
[0021]图4例证了根据本发明实施例的虚拟LDAP服务器的框图。
[0022]图5例证了根据本发明实施例的虚拟LDAP服务器的示范架构。
[0023]图6例证了根据本发明实施例的方法的流程图。
[0024]图7例证了由在图5中描绘的虚拟LDAP服务器执行的示范方法的流程图。【具体实施方式】
[0025]在如下描述中,为了说明而不是限制的目的,阐述了特定细节,诸如具体架构、接口和技术等,以便例证。然而,本领域技术人员将要明白,脱离这些特定细节的其它实施例仍将被理解为在本发明的范围内。而且,为了清晰的目的,众所周知的装置、电路和方法的详细描述被省略了,以不至于使本发明的描述模糊不清。应该明确理解,附图是为了例证性目的而包含的,并不表示本发明的范围。在附图中,不同图中的相似附图标记可标明类似单
J Li ο
[0026]在下文,详细参考附图提供了本发明实施例的描述。
[0027]图1例证了用于提供服务的现有技术系统100的示例。如图1所示,系统100包括中央服务器110和多个UNIX服务器121以及NE 122。中央服务器110仅包括一个后端,即LDAP服务器130。为了建立与这个LDAP服务器130的会话,UNIX服务器121和NE 122在其中已经安装了 LDAP客户端,例如支持LDAP协议的pam_ldap和nss_ldap。
[0028]图2例证了用于经由多个后端提供服务的现有技术系统200的另一示例。如图2所示,系统200还包括中央服务器210以及UNIX服务器221和NE 222。但是中央服务器210包括多个后端,其包含LDAP服务器231、Mysql服务器232和RADIUS服务器233。为了建立与不同后端的会话,UNIX服务器221和NE 222已经在其中安装了 LDAP客户端,Mysql客户端和RADIUS客户端,以便支持后端的不同协议。
[0029]在此现有技术系统200中,由于LDAP客户端仅支持LDAP协议,因此它仅能与LDAP服务器231谈话,而不能与Mysql服务器232或RADIUS服务器233谈话。因而,如果UNIX服务器或NE仅安装有LDAP客户端,则将阻止它们利用存储在Mysql服务器232或RADIUS服务器233中的用户信息或其它资源。另一方面,即便在UNIX服务器或NE中安装了多个客户端,但它们也将与不同后端单独通信,并且多个后端中的资源未被有效整合。
[0030]图3例证了在其中实现本发明一个实施例的系统300。如图3中所示,系统300包括中央服务器310 (例如安全性中央服务器)和多个UNIX服务器321以及NE 122。LDAP客户端(例如pam_ldap和nss_ldap)安装在UNIX服务器321和NE 322中以请求服务,比如认证或授权或其它服务等。中央服务器310包括多个后端,其包含LDAP服务器341、Mysql服务器342和RADIUS服务器343以及其它数据库344。如将理解的,尽管仅例证了 pam_Idap和nss_ldap,但系统中也可存在其它类型LDAP客户端。
[0031]根据本发明实施例,在UNIX服务器321和NE 322与后端341、342、343、344之间实现了在图3中标为虚拟LDAP服务器330的装置。虚拟LDAP服务器330 —方面使用LDAP协议与UNIX服务器321和NE 322中的pam_ldap或nss_ldap通信,而另一方面,分别使用它们的对应协议与后端341、342、343、344通信。例如,虚拟LDAP服务器330经由LDAP协议连接到LDAP服务器341,经由JDBC协议连接到Mysql服务器342,经由RADIUS协议连接到RADIUS服务器343,等等。
[0032]虚拟LDAP服务器330本身不存储用户信息或其它类似数据本身,但它在LDAP客户端方面作为LDAP服务器出现。同时,对于不同后端,虚拟LDAP服务器可充当它们的相应客户端。在一种实现中,虚拟LDAP服务器330可在LDAP协议中从UNIX服务器321或NE322接收LDAP请求,并且它然后可使用相应后端协议与中央服务器310中的不同后端谈话,以获得对于LDAP请求的一个或多个后端响应。虚拟LDAP服务器330可处理所获得的后端响应以形成适合于LDAP请求的LDAP响应,并且然后向发出请求的UNIX服务器或NE发送此LDAP响应。
[0033]这使例如UNIX服务器或NE中的LDAP客户端不仅能由LDAP服务器服务,而且能由其它后端服务,并且当中央服务器中的后端改变时,不会影响UNIX服务器或NE。考虑系统中有数量巨大的LDAP客户端,引入虚拟LDAP服务器将大大增加对中央服务器中存在的各种后端的利用率。如果UNIX服务器或NE已经安装了 LDAP客户端,则这也消除了对于安装其它客户端的需要。
[0034]如将认识到的,尽管虚拟LDAP服务器330在图3中被例证为集成到中央服务器310中,但它也可实现为独立的装置。
[0035]图4例证了根据本发明实施例的虚拟LDAP服务器400的框图。虚拟LDAP服务器400允许提供将LDAP客户端连接到中央服务器中不同类型后端的机制,并允许两个或更多后端协作以向LDAP客户端提供例如认证或授权的服务或其它服务。
[0036]如图4中所示,虚拟LDAP服务器400可包括LDAP客户端对接单元410、后端调度单元420和后端对接单元430,它们操作上耦合在一起。
[0037]LDAP对接单元410可从LDAP客户端接收对于访问服务的LDAP请求,并向LDAP客户端提供LDAP响应。LDAP对接单元410使用LDAP协议与LDAP客户端连接,这使虚拟LDAP服务器400对于LDAP客户端而言作为“真实” LDAP服务器出现。LDAP客户端的类型例如可以是 pam_ldap 或 nss_ldap。
[0038]后端调度单元420可根据LDAP请求识别所请求的服务。在一种实现中,当后端调度单元420接收由LDAP对接单元410传递的LDAP请求时,它可分析LDAP请求以确定请求什么服务。作为一个示例,如果LDAP请求是“绑定”操作请求,则该服务可被识别为“认证”。此识别例如可基于RFC 2251。或者备选地,它可基于请求中的关键字,或者基于记录请求与服务之间对应关系的列表。
[0039]后端调度单元420可根据为所请求的服务预先定义的规则来调度一个或多个后端以提供服务,并且此规则指示哪个(哪些)后端要用于所请求的服务。优选地,该规则进一步规定调度逻辑,其包含要由每个调度的后端遵循的操作逻辑以及可选地操作次序,以便更好地处理所请求的服务。更优选地,该规则指示服务与后端请求之间的映射关系。本文所使用的术语“后端请求”在广义上被解释成包含用于与后端建立会话或连接到后端的任何请求等,以便请求或获得某一服务,并且后端请求与对应的后端协议兼容。在一种实现中,规则可保存在例如名为logic.VLS的文件中。下文描述规则示例。
[0040]例如,如果所请求的服务被识别为“authentication (认证)”,则规则可以是:
【权利要求】
1.一种装置(330,400, 500),用于从具有多个后端(341,342,343,344)的中央服务器(300)向轻量目录访问协议LDAP客户端提供服务,所述装置包括: LDAP对接单元(410),配置成从所述LDAP客户端接收对于访问服务的LDAP请求,并向所述LDAP客户端提供LDAP响应; 后端调度单元(420),配置成根据所述LDAP请求识别所请求的服务,并根据为所请求的服务预先定义的规则调度一个或多个后端以提供服务,所述规则指示哪个后端或哪些后端要用于所请求的服务;以及 后端对接单元(430),配置成根据所述规则用相应后端请求来查询所调度的后端并获得后端响应, 其中所述后端调度单元(420)进一步配置成基于所获得的后端响应形成对所述LDAP客户端的LDAP响应。
2.如权利要求1所述的装置,其中更新所述规则以适应于所述中央服务器中的后端改变。
3.如权利要求1所述的装置,其中所述规则进一步指示所请求的服务与相应后端请求之间的映射关系。
4.如权利要求3所述的装置,其中所述后端对接单元配置成基于所述映射关系生成对于每个所调度后端的后端请求。
5.如权利要求1所述的装置,其中所述规则进一步指示所调度的后端要遵循的操作逻辑。
6.如权利要求1所述的装置,其中所述后端调度单元配置成组合所获得的后端响应中的信息或移除所获得的后端响应中的重复信息。
7.一种方法(600,700),所述方法从具有多个后端的中央服务器为轻量目录访问协议LDAP客户端提供服务,所述方法包括如下步骤: 从所述LDAP客户端接收对于访问服务的LDAP请求(610); 根据所述LDAP请求来识别所请求的服务(620); 根据为所请求的服务预先定义的规则来调度一个或多个后端以提供服务(630),所述规则指示哪个后端或哪些后端要用于所请求的服务; 根据所述规则用相应后端请求来查询所调度的后端以获得后端响应(640);以及基于所获得的后端响应形成LDAP响应,并向所述LDAP客户端提供所述LDAP响应(650)。
8.如权利要求7所述的方法,其中更新所述规则以适应于所述中央服务器中的后端改变。
9.如权利要求7所述的 方法,其中所述规则进一步指示所请求的服务与相应后端请求之间的映射关系。
10.如权利要求9所述的方法,其中所述查询包括基于所述映射关系生成对于每个所调度后端的后端请求。
11.如权利要求7所述的方法,其中所述规则进一步指示所调度的后端要遵循的操作逻辑。
12.如权利要求7所述的方法,其中所述形成包括组合所获得的后端响应中的信息或者移除所获得的后端响应中的重复信息。
13.一种中央服务器(310),包括如权利要求1-6中任一项所述的装置。
14.一种计算机程序产品,包括其上具有计算机可读代码的计算机可读介质,所述计算机可读代码当在计算机中加载时使所述计算机执行如权利要求7-12中任一项所述的方法。
【文档编号】G06F17/30GK103907111SQ201180074569
【公开日】2014年7月2日 申请日期:2011年11月3日 优先权日:2011年11月3日
【发明者】郑尧天 申请人:瑞典爱立信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1