LDAP是个Protocol,目前常用的实现有如下三种方案:
1 NDS(Novell Directory Services)
2 Microsoft Active Directory
3 OpenLDAP
要实现LDAP,第一步是设计DIT(即Directory Information Tree)。
以下连接代码在Microsoft Active Directory(即AD)下验证通过。
最简单的bind方式:
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--><?php
// LDAP variables
$ldaphost = "192.168.8.5"; // your ldap servers
$ldapport = 389; // your ldap server's port number
// Connecting to LDAP
$ldapconn = ldap_connect($ldaphost, $ldapport) or die("Could not connect to $ldaphost");
$ldaprdn = "testuser"; // ldap rdn or dn
$ldappass = 'testpwd'; // associated password
if ($ldapconn) {
// binding to ldap server
$ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);
//var_dump($ldapbind);
// verify binding
if ($ldapbind) {
echo "LDAP bind successful...";
} else {
echo "LDAP bind failed...";
}
}
是否能采用这种方式,取决于Directory Information Tree的结构。该方式存在明显缺点,要么bind成功,要么失败。即无法分别是用户名错误,还是密码错误。
search方式:
$ldap_host = "192.168.8.5";
$ldap_port = "389";
$base_dn = "OU=zzz,DC=test,DC=com,DC=cn";
$filter = "(cn=*)";
$ldap_user ="cn=admin,OU=zzz,DC=test,DC=com,DC=cn";
$ldap_pass = "123456";
$connect = ldap_connect( $ldap_host, $ldap_port);
ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3);
$bind = ldap_bind($connect, $ldap_user, $ldap_pass);
$read = ldap_search($connect, $base_dn, $filter);
$info = ldap_get_entries($connect, $read);
echo $info["count"]." entrees retournees<BR><BR>";
for($ligne = 0; $ligne<$info["count"]; $ligne++)
{
for($colonne = 0; $colonne<$info[$ligne]["count"]; $colonne++)
{
$data = $info[$ligne][$colonne];
echo $data.":".$info[$ligne][$data][0]."<BR>";
}
echo "<BR>";
}
ldap_close($connect);
其中:
$ldap_user ="cn=admin,OU=zzz,DC=test,DC=com,DC=cn";
$ldap_pass = "123456";
这两个语句定义了一个专用的LDAP账户用于登陆到LDAP服务器,该帐号必须具有检索权限。
在登录到LDAP服务器之后,就可以对LDAP中的信息进行检索(ldap_search)了,此时就可以判断某个id是否存在,密码是否正确等等。
在具体开发中采用哪种方式,取决于Directory Information Tree的设计。
分享到:
相关推荐
通过LDAP的Active Directory信息转储程序 LDAPDomainDump通过LDAP的Active Directory信息转储程序简介在 Active Directory域中,可以以通过LDAP通过任何身份验证的用户( 或者机器) 检索很多有趣的信息。 这使得LDAP...
此工具支持多种 LDAP 服务器,包括 Active Directory、Novell eDirectory 和 Sun Directory Server。Softerra LDAP Browser 还具有安全连接能力,允许用户通过 SSL 或 TLS 进行安全通信,确保数据传输的安全性。 ##...
描述中提到的“用于查看 Active Directory下的数据,比较方便的工具”,这通常是指一种图形用户界面(GUI)或命令行工具,可以帮助管理员轻松地检索和分析AD数据库中的信息。在这个场景中,提供的文件"ldp.exe"就是...
LDAP(Lightweight Directory Access Protocol,轻量级目录访问协议)是一种标准的网络协议,用于在分布式环境中存储和检索目录信息。它简化了对X.500目录服务的访问,而X.500是一种复杂的目录服务标准。LDAP基于...
在过去,基于Windows的目录服务器(如Active Directory)在企业环境中占据主导地位,而Linux平台在这一领域相对落后。然而,随着Red Hat Enterprise Linux 4(RHEL4)引入了内置的LDAP服务器,Linux在目录服务方面的...
9. **活动目录应用扩展**:通过轻量级目录访问协议(LDAP)和全局编录(Global Catalog),第三方应用可以方便地集成到Active Directory中,利用其强大的身份验证和目录查询能力。 10. **动态主机配置协议(DHCP)...
1. **连接 LDAP 服务器**:LDAP 编辑器能够连接到各种 LDAP 服务器,包括但不限于 OpenLDAP、Active Directory、Novell eDirectory 等。它支持多种认证方式,如简单认证、Kerberos、证书等,确保安全的连接。 2. **...
- **服务器软件与工具**:LDAP服务器如OpenLDAP、Microsoft Active Directory提供了存储和检索目录信息的服务。同时,命令行工具和APIs支持与LDAP服务器的交互。 - **国际化**:LDAP支持多种语言和字符集,确保全球...
在Active Directory域中,任何经过身份验证的用户(或计算机)都可以通过LDAP检索很多有趣的信息。 这使LDAP成为在内部网络的渗透测试的搜集阶段中收集信息的有趣协议。 问题是来自LDAP的数据通常无法以易于阅读的...
LDAP(Lightweight Directory Access Protocol)是一种轻量级目录访问协议,主要用于存储和检索用户信息、组织结构等元数据。它采用层次化的树状结构,便于管理和查找。在IT领域,LDAP常用于企业内部的身份验证、...
LDAP(Lightweight Directory Access Protocol)是一种轻量级目录访问协议,用于存储和检索组织数据,如用户账号、权限信息等。它常用于构建企业级的身份认证和授权系统。本文将手把手教你如何搭建一个LDAP服务器。 ...
1. **选择服务器软件**:常见的LDAP服务器有OpenLDAP、Microsoft Active Directory等,根据需求选择适合的软件。 2. **下载与安装**:从官方网站获取安装程序,按照向导指引完成安装。 3. **配置服务器**:设置全局...
LDAP是访问Active Directory的主要协议之一,通过编写基于LDAP的应用程序,可以实现对目录数据的查询、添加、修改和删除操作。本书将详细介绍如何使用C#、VB.NET等语言进行LDAP编程。 #### 2.2 ADSI编程 Active ...
标题 "ldap 访问AD测试" 暗示了我们正在讨论如何使用Lightweight Directory Access Protocol (LDAP) 来连接并操作Active Directory (AD) 架构。在IT环境中,AD是一个重要的服务,用于集中管理用户账户、权限和网络...
LDAP(Lightweight Directory Access Protocol)是一种轻量级目录访问协议,用于管理和检索分布式目录服务中的数据。在IT行业中,LDAP被广泛应用于组织内部的身份验证、权限管理和数据共享,尤其在多系统集成和企业...
首先,源码中可能包含了使用Java LDAP API(JNDI,Java Naming and Directory Interface)来连接和操作LDAP服务器的部分。JNDI是一个接口,提供了统一的方法来访问不同的命名和目录服务,包括LDAP。通过JNDI,开发者...
- 选择合适的LDAP服务器软件:比较不同的开源和商业LDAP服务器,如OpenLDAP、Active Directory等。 - 配置和安装:步骤化指导如何设置服务器环境,包括网络配置、安全设置和数据库初始化。 5. **安全性与认证**:...
1. **Ldap服务器安装**:首先,你需要在服务器上安装Ldap服务器软件,如OpenLDAP或Microsoft Active Directory。这通常涉及编译和配置源代码,或者使用操作系统提供的包管理器。 2. **目录结构规划**:设计合理的...