一种基于ActiveDirectory的B/S结构的LDAP访问控制系统的制作方法

文档序号:7694910阅读:598来源:国知局

专利名称::一种基于ActiveDirectory的B/S结构的LDAP访问控制系统的制作方法
技术领域
:本发明涉及一种LDAP访问控制系统,尤其是涉及一种基于ActiveDirectory的B/S结构的LDAP访问控制系统。
背景技术
:目前,大多数企业的经营都涉及到多种性质不同的业务,因此在企业内部的计算机网络中,通常形成多个应用系统来分别满足这些业务的需求。以广电行业为例,电视台内部根据业务范围划分为多个不同的业务板块,不同的板块根据其业务需求,往往要使用不同的应用系统,例如总控收录系统、新闻制播系统、综合制作系统、演播室系统、媒资管理系统、播出系统等。各个应用系统都需要拥有一份统一的电视台内部人员组成信息,电视台需要为这些应用系统提供诸如部门人员结构、栏目组人员结构等信息,并且这些应用系统都需要提供一个登陆时验证用户名及密码的功能。工作时,用户经常需要在不同的板块之间来回切换,需要重复多次登录。因此单点登陆逐渐成为电视台或类似企业网络中必不可少的功能单元。鉴于很多单点登陆系统采用基于LMP技术实现,而常见的LDAP访问控制功能往往需要通过C/S方式来实现,因此需要在每个客户终端上安装LDAP访问控制软件。对于客户终端数量较大的局域网来说,每次安装或者更新LDAP访问控制软件,需要花费很多的时间和精力,效率较低。
发明内容针对现有技术中存在的问题,本发明的目的是提供一种基于ActiveDirectory的B/S(浏览器/服务器)结构的LDAP访问控制系统,该系统能够实现客户端通过浏览器即可访问和管理ActiveDirectory服务器。为了实现上述目的,本发明采用的技术方案是,一种基于ActiveDirectory3的B/S结构的LDAP访问控制系统,包括ActiveDirectory服务器、LDAP适配器和客户端浏览器;其中,ActiveDirectory服务器位于该系统的最底层,用于提供轻量级目录服务,是LDAP适配器的梯:作对象;LDAP适配器位于该系统的中间层,用于解析客户端浏览器发送的操作请求,并根据该搡作请求对ActiveDirectory服务器进行操作并将操作结果返回给客户端浏览器;客户端浏览器位于该系统的最上层,用于向ActiveDirectory服务器发送操作请求,并负责显示从ActiveDirectory服务器返回的操作结果。如上所述的基于ActiveDirectory的B/S结构的LDAP访问控制系统,其中,所述的ActiveDirectory服务器配置的参数包括ActiveDirectory服务器名称项、访问ActiveDirectory月l务器的用户DN和访问ActiveDirectory服务器的密码。如上所述的基于ActiveDirectory的B/S结构的LDAP访问控制系统,其中,客户端浏览器提供对ActiveDirectory服务器中节点进行增加、删除、修改和查询的操作界面。如上所述的基于ActiveDirectory的B/S结构的LDAP访问控制系统,其中,客户端浏览器向ActiveDirectory服务器发送对节点的操作请求是一个包含节点属性信息的XML格式的字符串。如上所述的基于ActiveDirectory的B/S结构的LDAP访问控制系统,其中,客户端浏览器提供一个可编辑表格,该表格中的属性信息和一个XML文档进行绑定,对表格中的属性信息的操作实时反映到XML文档中,用于生成XML格式的操作请求字符串。如上所述的基于ActiveDirectory的B/S结构的LDAP访问控制系统,其中,ActiveDirectory服务器向客户端浏览器返回的结果是XML格式的字符串。如上所述的基于ActiveDirectory的B/S结构的LDAPi方问控制系统,其中,客户端浏览器显示ActiveDirectory服务器返回结果采用树形结构和属性表相结合的方式。由于本发明所述的系统采用B/S结构,因此只需要在ActiveDirectory服务器的域范围内中的任意一台机器上部署访问控制系统即可,更新时也只需对该访问控制系统的运行实例进行更新,客户端可以通过浏览器访问和管理ActiveDirectory服务器。图1是本发明所述的系统架构'图;图2是本发明具体实施方式中AD服务器的配置示意图;图3是本发明具体实施方式中所述的展示界面示意图;图4是本发明具体实施方式中所述的可编辑表格示意图。具体实施例方式下面结合实施例和附图对本发明的具体实施方式进行详细描述。本发明所述的系统主要应用于采用微软公司的LDAP服务器产品ActiveDirectory作为存储体的单点登陆系统中。如何通过客户端浏览器对ActiveDirectory服务器存储的节点进行操作便是本发明所要解决的问题。本实施方式是以在电视台的单点登陆系统中的应用为例。如图1所示,一种基于ActiveDirectory的B/S结构的LDAP访问控制系统,包括ActiveDirectory服务器、LDAP适配器和客户端浏览器。ActiveDirectory服务器位于本系统的最底层,用于提供轻量级目录服务,是LDAP适配器的操作对象。本实施例中,ActiveDirectory服务器用于配置节点和参数。ActiveDirectory(以下简称AD)是指Windows2000/2003网络中的目5录服务。它有两个作用,一是目录服务功能。AD提供了一系列集中组织管理和访问网络资源的目录服务功能。AD使网络拓朴和协议对用户变得透明,从而使网络上的用户可以访问任何资源(例如打印机),而无需知道该资源的位置以及它是如何连接到网络的。AD被划分成区域进行管理,这使其可以存储大量的对象。基于这种结构,AD可以随着企业的成长而进行扩展。二是集中式管理。AD还可以集中管理对网络资源的访问,并允许用户只登陆一次就能访问在AD上的所有资源。本实施例中,在AD中添加三个根节点,分别为"部门结构"、"栏目结构,,和"应用系统"。这三个组织单位节点需要用户手工添加,分别代表电视台内部的部门人员结构、栏目及其栏目成员、电视台全台网中需要实现单点登陆的应用系统。用户可以在这三个根节点下分别添加相应的隶属节点。如在部门结构节点下添加电视台、频道、部门、人员等,在栏目结构节点下添加具体的栏目名以及在应用系统节点下添加具体的应用系统名,如图2所示。然后配置三个根节点的DN(distinguishedname)属性值,DN参数能够唯一标识节点在AD目录中的位置,如上述三个节点的DN属性分别为"OU-部门结构,DC-zyf,DC-com"、"0U=栏目结构,DC=zyf,DC=com"、"0U-应用系统,DC-zyf,DC^om",其中,0U代表组织单位,前后两个DC值分别表示LDAP服务器的域名及域扩展名。此外,还需要配置以下几个参数AD服务器名称项(可以填域控制器的IP地址,或者"域控制器名.域名.扩展名,,)、访问AD服务器的用户DN(如LDAP服务器中的一个名为zhangyf的用户,其DN值可能为CN=zhangyf,CN=Users,DC=zyf,DC=com,其中Users是ActiveDirectory内置的一个节点,该节点下包含了多个用户节点)、访问AD服务器的密码。LDAP适配器位于本系统的中间层,用于解析客户端浏览器发送的操作请求,并根据该操作请求调用相应的API对AD服务器进行操作并将操作结果返回给客户端浏览器。对节点的操作均是通过调用相应的API来实现,这些API主要位于Java,naming,directory.IniUalDirContext类中。下表是LDAP适酉己器^是供的API说明(最后一个API不是InitialDirContext类中^是供的方法,而是6<table>tableseeoriginaldocumentpage7</column></row><table>本实施例中,对AD服务器中存储的节点进行的操作包括增加、删除、修改和查询等。①节点的添加首先,客户端浏览器向AD服务器发送添加节点请求,传到AD服务器的请求内容是一个XML格式的字符串,举例如下<xmlversion="l.0"encoding="GB2312"〉<LDAPAttributes><Attributename="objectClass"value="top,person,organizationalPerson,user"type="noedit"/><Attributename="distinguishedName"value="CN=zhangyf,OU-记者部,OU—牛教频道,DC-zyf,DC-com"type="noedit"/><Attributename="sn"value-"姓"type="edit"/><Attributename="givenName"value-"名"type="edit"/><Attributename="displayName"value=""type="noedit"/〉<Attributename="name"value-"姓名"type="edit"/><Attributename="userPrincipalName"value=""type="edit"/>〈Attributename="sAMAccountName"value=""type="noedit"/><Attributename="userpassword"value="0p-0p-0p」'type="edit"/><Attributename="type"value二"用户"type="noedit"/〉<!—oid为外部属性,可填可不填--〉<Attributename="oid"value=""type="edit"/〉<Attributename="mail"value=""type="edit"/><Attributename="st"value=""type="edit"/><Attributename="postalCode"value=""type="edit"/〉<Attributename="company"value=""type="editV〉<Attributename="description"value=""type="edit"/〉〈Attributename="initials"value=""type="edit"/><Attributename="homePhone"value=""type="edit"/〉attributename="accountExpires"value="9223372036854775807"type="noedit"/〉</U)APAttributes>其中,每个Attribute元素表示节点的一个属性,Attribute元素的name为属性名,value为属性值,type表示该属性是否可以被更改,该属性项主要应用在节点修改时作为判断的依据,在节点添加时没有特殊意义。从中提取要添加节点的所有属性信息。最后,LDAP适配器调用其addNode方法将节点添加到AD服务器中。②节点的删除删除节点时,从客户端浏览器传送来的内容是一个与添加节点类似的XML格式的字符串,但是节点只包含一个Attribute元素,举例如下<xmlversion="l.0"encoding="GB2312"〉<LDAPAttributes><Attributename="distinguishedName"value="CN=zhangyf,011=记者部,011=科教频道,DOzyf,DC-com"type="noedit"/></LDAPAUributes>之所以如此,是因为用户的DN属性在AD服务器节点集中是可以作为节点标志,也就是说,每个节点都有一个唯一的、与众不同的DN属性,只要根据这个属性便可以定位到节点,从而删除之。③节点的^奮改修改节点时,客户端浏览器传过来的同样是一个与添加节点类似的XML格式的字符串,举例如下<xmlversion="l.0"encoding="GB2312"><LDAPAttributes>〈Attributename="objectClass"value="top,person,organizationalPerson,user"type="noedit"/><Attributename="distinguishedName"value="CN=zhangyf,011=记者部,011=科教频道,DC=zyf,DC=com"type="noedit"/><Attributename="name"value="zhangyunfeng"type="edit"/>〈Attributename="userpassword"value="Op-password"type="edit"/>type="noedit"/></U)APAttributes〉节点属性的数量是不确定的,每个Attribute元素代表了该节点被更改的一项属性。上面的示例表示将DN属性为"CN-zhangyf,0U—己者部,0U-科教频道,DC=zyf,DC=com,,的节点名改为"zhangyunfeng,,,密石马文为"Op_password,,。④节点的查询节点查询时,客户端浏览器提交过来的XML格式的字符串与节点删除时类4以,例3口<xmlversion="l.0"encoding="GB2312"><LDAPAttributes><Attributename="distinguishedName"value-"OU-科教频i£,DC=zyf,DC=com"type="noedit"/>该XML格式的字符串指示了要查询的节点的DN。上面的示例表示查询所有包含"Ol^科教频道,DCzzyf,DC-com"的节点信息。返回的结果是一个ArrayList〈Hashtable〉类型,其中每个节点的所有属性集合存放在一个Hashtable中。LDAP适配器对AD服务器中的节点进行上述操作后,首先将操作结果组织成一个XML格式的字符串,然后再返回给客户端浏览器。客户端浏览器位于本系统的最上层,用于向ActiveDirectory服务器发送操作请求,并负责显示从ActiveDirectory服务器返回的操作结果。本实施例中,客户端浏览器向AD服务器发送的操作请求是一个XML格式的字符串,为了实现在发送操作请求时对相关的节点参数组织成XML格式字符串,设计了一个名为EdiUUrTable的JavaScript类,该类的功能是创建并维护一个可编辑表格,表格的格式如图3所示。表格中的数据和一个XML文档进行绑定。用户对表格的中属性值的操作将实时反映到XML文档中。用户设置完属性后,点击页面上的相关命令按钮,即可将上述信息发送至LDAP适配器,由LDAP适配器负责处理后续工作,并将处理结果返回给客户端浏览器。在操作结果(即节点信息)的展示方面,本实施例采用树型结构和属性表相结合的展示方法,如图4所示。左侧的树型目录展示的是节点的结构,当用户点击选择树中的某个节点后,右侧的表格中将会实时显示被选择节点的属性。图4展示的是节点"新奥特电视台"的结构。将属性表分为两部分主属性和扩展属性。将节点中比较重要的节点属性,如DN、name等作为主属性,而其它一些不太重要的属性作为扩展属性。这样做的原因是如果目录中包含了大量节点,显示树型结构时,不得不一次性耳又出所有节点及其属性,节点的属性信息量比较大。一次性从AD服务返回大量数据10将会对运行效率造成很大影响。所以首先从AD服务器返回一个仅仅包含节点位置关系和节点主属性的XML格式的字符串,当左侧的树型结构显示完毕后,右侧的主属性表也显示完毕。当选择左侧树中的一个节点时,再从客户端浏览器发送一个请求,随后服务器端返回被选中节点的XML格式的包含扩展属性信息的字符串,客户端浏览器再将该XML格式字符串进行解析,并显示在扩展属性表中。通过将一次取数据变为两步取数据,避免了一次性从AD服务器取大量数据造成的属性显示延迟。提高了显示的速度。属性表的具体实现方法,可以使用名为DataAttribute的JavaScript类来实3见。本发明所述的系统并不限于具体实施方式中所述的实施例,本领域技术人员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围。权利要求1.一种基于ActiveDirectory的B/S结构的LDAP访问控制系统,包括ActiveDirectory服务器、LDAP适配器和客户端浏览器;其中,ActiveDirectory服务器位于该系统的最底层,用于提供轻量级目录服务,是LDAP适配器的操作对象;LDAP适配器位于该系统的中间层,用于解析客户端浏览器发送的操作请求,并根据该操作请求对ActiveDirectory服务器进行操作并将操作结果返回给客户端浏览器;客户端浏览器位于该系统的最上层,用于向ActiveDirectory服务器发送操作请求,并负责显示从ActiveDirectory服务器返回的操作结果。2.如权利要求1所述的基于ActiveDirectory的B/S结构的LDAP访问控制系统,其特征在于所述的ActiveDirectory服务器配置的参数包括ActiveDirectory月良务器名称项、访问ActiveDirectory月良务器的用户DN和访问ActiveDirectory月良务器的密码。3.如权利要求1所述的基于ActiveDirectory的B/S结构的LDAP访问控制系统,其特征在于客户端浏览器提供对ActiveDirectory服务器中节点进行增加、删除、修改和查询的操作界面。4.如一又利要求1所述的基于ActiveDirectory的B/S结构的LDAP访问控制系统,其特征在于客户端浏览器向ActiveDirectory服务器发送对节点的操作请求是一个包含节点属性信息的扁L格式的字符串。5.如权利要求1所述的基于ActiveDirectory的B/S结构的LDAP访问控制系统,其特征在于客户端浏览器提供一个可编辑表格,该表格中的属性信息和一个XML文档进行绑定,对表格中的属性信息的操作实时反映到XML文档中,用于生成XML格式的操作请求字符串。6.如权利要求1至5之一所述的基于ActiveDirectory的B/S结构的LDAP访问控制系统,其特征在于ActiveDirectory服务器向客户端浏览器返回的结果是XML格式的字符串。7.如权利要求1至5之一所述的基于ActiveDirectory的B/S结构的LDAP访问控制系统,其特征在于客户端浏览器显示ActiveDirectory服务器返回结果采用树形结构和属性表相结合的方式。全文摘要本发明公开了一种LDAP访问控制系统,尤其是公开了一种基于AD的B/S结构的LDAP访问控制系统。在现有技术中,LDAP访问控制功能是通过C/S方式来实现的,需要在每个客户端上安装LDAP访问控制软件,安装或者更新效率较低。本发明所述的系统采用B/S结构,包括AD服务器、LDAP适配器和客户端浏览器。AD服务器位于底层,用于配置节点和参数;LDAP适配器位于中间层,用于解析操作请求,并根据该操作请求对AD服务器进行操作并将操作结果返回给客户端浏览器;客户端浏览器位于上层,用于发送操作请求,并负责显示操作结果。采用本发明所述的系统,客户端可以通过浏览器访问和管理AD服务器。文档编号H04L12/56GK101588355SQ20081011241公开日2009年11月25日申请日期2008年5月23日优先权日2008年5月23日发明者伟孙,张云峰,王弋珵申请人:新奥特(北京)视频技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1