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

文档序号:7694909阅读:235来源:国知局

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