CN101588355A - 一种基于Active Directory的B/S结构的LDAP访问控制系统 - Google Patents

一种基于Active Directory的B/S结构的LDAP访问控制系统 Download PDF

Info

Publication number
CN101588355A
CN101588355A CNA2008101124129A CN200810112412A CN101588355A CN 101588355 A CN101588355 A CN 101588355A CN A2008101124129 A CNA2008101124129 A CN A2008101124129A CN 200810112412 A CN200810112412 A CN 200810112412A CN 101588355 A CN101588355 A CN 101588355A
Authority
CN
China
Prior art keywords
active directory
ldap
access control
client browser
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2008101124129A
Other languages
English (en)
Inventor
王弋珵
张云峰
孙伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Digital Video Beijing Ltd
Original Assignee
China Digital Video Beijing Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Digital Video Beijing Ltd filed Critical China Digital Video Beijing Ltd
Priority to CNA2008101124129A priority Critical patent/CN101588355A/zh
Publication of CN101588355A publication Critical patent/CN101588355A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种LDAP访问控制系统,尤其是公开了一种基于AD的B/S结构的LDAP访问控制系统。在现有技术中,LDAP访问控制功能是通过C/S方式来实现的,需要在每个客户端上安装LDAP访问控制软件,安装或者更新效率较低。本发明所述的系统采用B/S结构,包括AD服务器、LDAP适配器和客户端浏览器。AD服务器位于底层,用于配置节点和参数;LDAP适配器位于中间层,用于解析操作请求,并根据该操作请求对AD服务器进行操作并将操作结果返回给客户端浏览器;客户端浏览器位于上层,用于发送操作请求,并负责显示操作结果。采用本发明所述的系统,客户端可以通过浏览器访问和管理AD服务器。

Description

一种基于Active Directory的B/S结构的LDAP访问控制系统
技术领域
本发明涉及一种LDAP访问控制系统,尤其是涉及一种基于ActiveDirectory的B/S结构的LDAP访问控制系统。
背景技术
目前,大多数企业的经营都涉及到多种性质不同的业务,因此在企业内部的计算机网络中,通常形成多个应用系统来分别满足这些业务的需求。以广电行业为例,电视台内部根据业务范围划分为多个不同的业务板块,不同的板块根据其业务需求,往往要使用不同的应用系统,例如总控收录系统、新闻制播系统、综合制作系统、演播室系统、媒资管理系统、播出系统等。各个应用系统都需要拥有一份统一的电视台内部人员组成信息,电视台需要为这些应用系统提供诸如部门人员结构、栏目组人员结构等信息,并且这些应用系统都需要提供一个登陆时验证用户名及密码的功能。工作时,用户经常需要在不同的板块之间来回切换,需要重复多次登录。因此单点登陆逐渐成为电视台或类似企业网络中必不可少的功能单元。
鉴于很多单点登陆系统采用基于LDAP技术实现,而常见的LDAP访问控制功能往往需要通过C/S方式来实现,因此需要在每个客户终端上安装LDAP访问控制软件。对于客户终端数量较大的局域网来说,每次安装或者更新LDAP访问控制软件,需要花费很多的时间和精力,效率较低。
发明内容
针对现有技术中存在的问题,本发明的目的是提供一种基于ActiveDirectory的B/S(浏览器/服务器)结构的LDAP访问控制系统,该系统能够实现客户端通过浏览器即可访问和管理Active Directory服务器。
为了实现上述目的,本发明采用的技术方案是,一种基于Active Directory的B/S结构的LDAP访问控制系统,包括Active Directory服务器、LDAP适配器和客户端浏览器;其中,
Active Directory服务器位于该系统的最底层,用于提供轻量级目录服务,是LDAP适配器的操作对象;
LDAP适配器位于该系统的中间层,用于解析客户端浏览器发送的操作请求,并根据该操作请求对Active Directory服务器进行操作并将操作结果返回给客户端浏览器;
客户端浏览器位于该系统的最上层,用于向Active Directory服务器发送操作请求,并负责显示从Active Directory服务器返回的操作结果。
如上所述的基于Active Directory的B/S结构的LDAP访问控制系统,其中,所述的Active Directory服务器配置的参数包括Active Directory服务器名称项、访问Active Directory服务器的用户DN和访问Active Directory服务器的密码。
如上所述的基于Active Directory的B/S结构的LDAP访问控制系统,其中,客户端浏览器提供对Active Directory服务器中节点进行增加、删除、修改和查询的操作界面。
如上所述的基于Active Directory的B/S结构的LDAP访问控制系统,其中,客户端浏览器向Active Directory服务器发送对节点的操作请求是一个包含节点属性信息的XML格式的字符串。
如上所述的基于Active Directory的B/S结构的LDAP访问控制系统,其中,客户端浏览器提供一个可编辑表格,该表格中的属性信息和一个XML文档进行绑定,对表格中的属性信息的操作实时反映到XML文档中,用于生成XML格式的操作请求字符串。
如上所述的基于Active Directory的B/S结构的LDAP访问控制系统,其中,Active Directory服务器向客户端浏览器返回的结果是XML格式的字符串。
如上所述的基于Active Directory的B/S结构的LDAP访问控制系统,其中,客户端浏览器显示Active Directory服务器返回结果采用树形结构和属性表相结合的方式。
由于本发明所述的系统采用B/S结构,因此只需要在Active Directory服务器的域范围内中的任意一台机器上部署访问控制系统即可,更新时也只需对该访问控制系统的运行实例进行更新,客户端可以通过浏览器访问和管理Active Directory服务器。
附图说明
图1是本发明所述的系统架构图;
图2是本发明具体实施方式中AD服务器的配置示意图;
图3是本发明具体实施方式中所述的展示界面示意图;
图4是本发明具体实施方式中所述的可编辑表格示意图。
具体实施方式
下面结合实施例和附图对本发明的具体实施方式进行详细描述。
本发明所述的系统主要应用于采用微软公司的LDAP服务器产品ActiveDirectory作为存储体的单点登陆系统中。如何通过客户端浏览器对ActiveDirectory服务器存储的节点进行操作便是本发明所要解决的问题。本实施方式是以在电视台的单点登陆系统中的应用为例。
如图1所示,一种基于Active Directory的B/S结构的LDAP访问控制系统,包括Active Directory服务器、LDAP适配器和客户端浏览器。
Active Directory服务器位于本系统的最底层,用于提供轻量级目录服务,是LDAP适配器的操作对象。本实施例中,Active Directory服务器用于配置节点和参数。
Active Directory(以下简称AD)是指Windows 2000/2003网络中的目录服务。它有两个作用,一是目录服务功能。AD提供了一系列集中组织管理和访问网络资源的目录服务功能。AD使网络拓扑和协议对用户变得透明,从而使网络上的用户可以访问任何资源(例如打印机),而无需知道该资源的位置以及它是如何连接到网络的。AD被划分成区域进行管理,这使其可以存储大量的对象。基于这种结构,AD可以随着企业的成长而进行扩展。二是集中式管理。AD还可以集中管理对网络资源的访问,并允许用户只登陆一次就能访问在AD上的所有资源。
本实施例中,在AD中添加三个根节点,分别为“部门结构”、“栏目结构”和“应用系统”。这三个组织单位节点需要用户手工添加,分别代表电视台内部的部门人员结构、栏目及其栏目成员、电视台全台网中需要实现单点登陆的应用系统。用户可以在这三个根节点下分别添加相应的隶属节点。如在部门结构节点下添加电视台、频道、部门、人员等,在栏目结构节点下添加具体的栏目名以及在应用系统节点下添加具体的应用系统名,如图2所示。
然后配置三个根节点的DN(distinguished name)属性值,DN参数能够唯一标识节点在AD目录中的位置,如上述三个节点的DN属性分别为“OU=部门结构,DC=zyf,DC=com”、“OU=栏目结构,DC=zyf,DC=com”、“OU=应用系统,DC=zyf,DC=com”,其中,OU代表组织单位,前后两个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.InitialDirContext类中。下表是LDAP适配器提供的API说明(最后一个API不是InitialDirContext类中提供的方法,而是javax.naming.directory.SearchResult类中的方法):
Figure A20081011241200071
本实施例中,对AD服务器中存储的节点进行的操作包括增加、删除、修改和查询等。
①节点的添加
首先,客户端浏览器向AD服务器发送添加节点请求,传到AD服务器的请求内容是一个XML格式的字符串,举例如下:
<?xml version=″1.0″encoding=″GB2312″?>
<LDAPAttributes>
    <Attribute name=″objectClass″value=″top,person,
organizationalPerson,user″type=″noedit″/>
    <Attribute name=″distinguishedName″value=″CN=zhangyf,OU=记
者部,OU=科教频道,DC=zyf,DC=com″type=″noedit″/>
    <Attribute name=″sn″value=″姓″type=″edit″/>
    <Attribute name=″givenName″value=″名″type=″edit″/>
    <Attribute name=″displayName″value=″″type=″noedit″/>
    <Attribute name=″name″value=″姓名″type=″edit″/>
    <Attribute name=″userPrincipalName″value=″″type=″edit″/>
    <Attribute name=″sAMAccountName″value=″″type=″noedit″/>
    <Attribute name=″userpassword″value=″0p-0p-0p-″type=″edit″/>
    <Attribute name=″type″value=″用户″type=″noedit″/>
    <!-- oid为外部属性,可填可不填 -->
    <Attribute name=″oid″value=″″type=″edit″/>
    <Attribute name=″mail″value=″″type=″edit″/>
    <Attribute name=″st″value=″″type=″edit″/>
    <Attribute name=″postalCode″value=″″type=″edit″/>
    <Attribute name=″company″value=″″type=″edit″/>
    <Attribute name=″description″value=″″type=″edit″/>
    <Attribute name=″initials″value=″″type=″edit″/>
    <Attribute name=″homePhone″value=″″type=″edit″/>
    <Attribute name=″accountExpires″value=″9223372036854775807″
type=″noedit″/>
    </LDAPAttributes>
其中,每个Attribute元素表示节点的一个属性,Attribute元素的name为属性名,value为属性值,type表示该属性是否可以被更改,该属性项主要应用在节点修改时作为判断的依据,在节点添加时没有特殊意义。
然后,LDAP适配器对客户端浏览器传送过来的XML格式的字符串进行分析,从中提取要添加节点的所有属性信息。
最后,LDAP适配器调用其addNode方法将节点添加到AD服务器中。
②节点的删除
删除节点时,从客户端浏览器传送来的内容是一个与添加节点类似的XML格式的字符串,但是节点只包含一个Attribute元素,举例如下:
<?xml version=″1.0″encoding=″GB2312″?>
<LDAPAttributes>
        <Attribute name=″distinguishedName″value=″CN=zhangyf,OU=记
者部,OU=科教频道,DC=zyf,DC=com″type=″noedit″/>
    </LDAPAttributes>
之所以如此,是因为用户的DN属性在AD服务器节点集中是可以作为节点标志,也就是说,每个节点都有一个唯一的、与众不同的DN属性,只要根据这个属性便可以定位到节点,从而删除之。
③节点的修改
修改节点时,客户端浏览器传过来的同样是一个与添加节点类似的XML格式的字符串,举例如下:
    <?xml version=″1.0″encoding=″GB2312″?>
    <LDAPAttributes>
        <Attribute name=″objectClass″value=″top,person,
organizationalPerson,user″type=″noedit″/>
    <Attribute name=″distinguishedName″value=″CN=zhangyf,OU=记者
部,OU=科教频道,DC=zyf,DC=com″type=″noedit″/>
    <Attribute name=″name″value=″zhangyunfeng″type=″edit″/>
    <Attribute name=″userpassword″value=″0p-password″type=″edit″/>
type=″noedit″/>
    </LDAPAttributes>
节点属性的数量是不确定的,每个Attribute元素代表了该节点被更改的一项属性。上面的示例表示:将DN属性为“CN=zhangyf,OU=记者部,OU=科教频道,DC=zyf,DC=com”的节点名改为“zhangyunfeng”,密码改为“0p-password”。
④节点的查询
节点查询时,客户端浏览器提交过来的XML格式的字符串与节点删除时类似,例如:
<?xml version=″1.0″encoding=″GB2312″?>
     <LDAPAttributes>
         <Attribute name=″distinguishedName″value=″OU=科教频
道,DC=zyf,DC=com″type=″noedit″/>
该XML格式的字符串指示了要查询的节点的DN。上面的示例表示:查询所有包含“OU=科教频道,DC=zyf,DC=com”的节点信息。返回的结果是一个ArrayList<Hashtable>类型,其中每个节点的所有属性集合存放在一个Hashtable中。
LDAP适配器对AD服务器中的节点进行上述操作后,首先将操作结果组织成一个XML格式的字符串,然后再返回给客户端浏览器。
客户端浏览器位于本系统的最上层,用于向Active Directory服务器发送操作请求,并负责显示从Active Directory服务器返回的操作结果。
本实施例中,客户端浏览器向AD服务器发送的操作请求是一个XML格式的字符串,为了实现在发送操作请求时对相关的节点参数组织成XML格式字符串,设计了一个名为EditAttrTable的JavaScript类,该类的功能是创建并维护一个可编辑表格,表格的格式如图3所示。
表格中的数据和一个XML文档进行绑定。用户对表格的中属性值的操作将实时反映到XML文档中。用户设置完属性后,点击页面上的相关命令按钮,即可将上述信息发送至LDAP适配器,由LDAP适配器负责处理后续工作,并将处理结果返回给客户端浏览器。
在操作结果(即节点信息)的展示方面,本实施例采用树型结构和属性表相结合的展示方法,如图4所示。左侧的树型目录展示的是节点的结构,当用户点击选择树中的某个节点后,右侧的表格中将会实时显示被选择节点的属性。图4展示的是节点“新奥特电视台”的结构。
将属性表分为两部分:主属性和扩展属性。将节点中比较重要的节点属性,如DN、name等作为主属性,而其它一些不太重要的属性作为扩展属性。这样做的原因是:如果目录中包含了大量节点,显示树型结构时,不得不一次性取出所有节点及其属性,节点的属性信息量比较大。一次性从AD服务返回大量数据将会对运行效率造成很大影响。所以首先从AD服务器返回一个仅仅包含节点位置关系和节点主属性的XML格式的字符串,当左侧的树型结构显示完毕后,右侧的主属性表也显示完毕。当选择左侧树中的一个节点时,再从客户端浏览器发送一个请求,随后服务器端返回被选中节点的XML格式的包含扩展属性信息的字符串,客户端浏览器再将该XML格式字符串进行解析,并显示在扩展属性表中。通过将一次取数据变为两步取数据,避免了一次性从AD服务器取大量数据造成的属性显示延迟。提高了显示的速度。属性表的具体实现方法,可以使用名为DataAttribute的JavaScript类来实现。
本发明所述的系统并不限于具体实施方式中所述的实施例,本领域技术人员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围。

Claims (7)

1.一种基于Active Directory的B/S结构的LDAP访问控制系统,包括Active Directory服务器、LDAP适配器和客户端浏览器;其中,
Active Directory服务器位于该系统的最底层,用于提供轻量级目录服务,是LDAP适配器的操作对象;
LDAP适配器位于该系统的中间层,用于解析客户端浏览器发送的操作请求,并根据该操作请求对Active Directory服务器进行操作并将操作结果返回给客户端浏览器;
客户端浏览器位于该系统的最上层,用于向Active Directory服务器发送操作请求,并负责显示从Active Directory服务器返回的操作结果。
2.如权利要求1所述的基于Active Directory的B/S结构的LDAP访问控制系统,其特征在于:所述的Active Directory服务器配置的参数包括ActiveDirectory服务器名称项、访问Active Directory服务器的用户DN和访问Active Directory服务器的密码。
3.如权利要求1所述的基于Active Directory的B/S结构的LDAP访问控制系统,其特征在于:客户端浏览器提供对Active Directory服务器中节点进行增加、删除、修改和查询的操作界面。
4.如权利要求1所述的基于Active Directory的B/S结构的LDAP访问控制系统,其特征在于:客户端浏览器向Active Directory服务器发送对节点的操作请求是一个包含节点属性信息的XML格式的字符串。
5.如权利要求1所述的基于Active Directory的B/S结构的LDAP访问控制系统,其特征在于:客户端浏览器提供一个可编辑表格,该表格中的属性信息和一个XML文档进行绑定,对表格中的属性信息的操作实时反映到XML文档中,用于生成XML格式的操作请求字符串。
6.如权利要求1至5之一所述的基于Active Directory的B/S结构的LDAP访问控制系统,其特征在于:Active Directory服务器向客户端浏览器返回的结果是XML格式的字符串。
7.如权利要求1至5之一所述的基于Active Directory的B/S结构的LDAP访问控制系统,其特征在于:客户端浏览器显示Active Directory服务器返回结果采用树形结构和属性表相结合的方式。
CNA2008101124129A 2008-05-23 2008-05-23 一种基于Active Directory的B/S结构的LDAP访问控制系统 Pending CN101588355A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2008101124129A CN101588355A (zh) 2008-05-23 2008-05-23 一种基于Active Directory的B/S结构的LDAP访问控制系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2008101124129A CN101588355A (zh) 2008-05-23 2008-05-23 一种基于Active Directory的B/S结构的LDAP访问控制系统

Publications (1)

Publication Number Publication Date
CN101588355A true CN101588355A (zh) 2009-11-25

Family

ID=41372419

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2008101124129A Pending CN101588355A (zh) 2008-05-23 2008-05-23 一种基于Active Directory的B/S结构的LDAP访问控制系统

Country Status (1)

Country Link
CN (1) CN101588355A (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001093080A2 (en) * 2000-06-01 2001-12-06 Aerocast.Com, Inc. Active directory for content objects
CN1996853A (zh) * 2005-12-20 2007-07-11 株式会社东芝 基于ldap的扫描模板

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001093080A2 (en) * 2000-06-01 2001-12-06 Aerocast.Com, Inc. Active directory for content objects
CN1996853A (zh) * 2005-12-20 2007-07-11 株式会社东芝 基于ldap的扫描模板

Similar Documents

Publication Publication Date Title
US9219705B2 (en) Scaling network services using DNS
US7584263B1 (en) System and method for providing services access through a family home page
JP3702800B2 (ja) 組織ポータルシステム
US8316044B2 (en) Techniques for automatically provisioning a database over a wide area network
US6795830B1 (en) Techniques for providing off-host storage for a database application
US7895176B2 (en) Entry group tags
US20200257674A1 (en) Domain name registration and management
US6993657B1 (en) Techniques for managing database systems with a community server
US20020083073A1 (en) Managing a layered hierarchical data set
JP4620784B2 (ja) 現存するitリソース構造を自動的に複製する方法及びシステム
JP2001056810A (ja) データベースアクセスシステム
JP2005521974A (ja) コンピュータシステムにて、承認の要求を呈示する方法、コンピュータメモリ、およびコンピュータシステム
CN101189611A (zh) 可扩展及自动复制的服务器群配置管理基础设施
CN101605031A (zh) 一种面向电视台应用的跨域单点登陆系统
US20040078391A1 (en) Extending role scope in a directory server system
CN101232515A (zh) 一种基于ldap的分布式的集群管理监控系统
JP5886901B2 (ja) 装置へのコンテンツの分配を管理するシステムと方法とプログラムを提供する記憶媒体
CN101588354A (zh) 一种基于Active Directory的B/S结构的LDAP访问控制方法
JP3737310B2 (ja) Wwwサーバーシステム
CN101588355A (zh) 一种基于Active Directory的B/S结构的LDAP访问控制系统
Kuz et al. The globe infrastructure directory service
Cisco CICM Setup
CN104008436A (zh) 一种内容管理集成方法和系统
Arcieri et al. Distributed territorial data management and exchange for public organizations
KR100336115B1 (ko) 하부 도메인 서비스 방법 및 그 시스템

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20091125