PHP 通过LDAP协议,操作Windows Active Directory
我从来就没有接触过Active Directory,这次是第一次学习它,所以对很多东西,还不是很理解。在此我把我在学习过程中收集的一些资料和大家共享。一、学习如何管理Active Directory
Active Directory 循序渐进系列指南
二、ADExplorer
到网上下载一个ADExplorer,它是Active Directory浏览器,可以让我们更加清楚认识Active Directory的数据存储方式及格式。
三、域外访问Active Directory
确保将域外计算机的 DNS 分析 程序配置 为与 Active Directory 运用 相同的 DNS 名称服务器;在大多数情况下,假定您要运用 Active Directory 集成的 DNS,则我们把此域外计算机的DNS设置为此Active Directory服务器IP地址。
详细内容请参照《运用 Active Directory执行Linux客户端身份验证》
四、php 代码
为了使用方便,我使用 adLDAP来进行编程,这样可以简便很多。
<?php
require_once(dirname(__FILE__) . '/adLDAP.php');
$options=array();
try {
$options['account_suffix']="@mydomain.com";
$options['base_dn']="OU=Accounts,DC=mydomain,DC=com";//
$options['domain_controllers']=array("mydomain.com");
$options['ad_username']="administrator";
$options['ad_password']="123456";
$ldap = new adLDAP($options);
}
catch (adLDAPException $e) {
echo $e; exit();
}
//var_dump($ldap);
echo ("<pre>\n");
$result=$ldap->authenticate("qiujiayu","qiujiayu");
var_dump($result);
echo("----------------------------------------------------");
$result=$ldap->folder_list(array('Marketing'), ADLDAP_FOLDER, true,'contact');
var_dump ($result);
echo("----------------------------------------------------");
$result=$ldap->all_users();
var_dump ($result);
echo("----------------------------------------------------");
$result=$ldap->all_contacts();
var_dump ($result);
echo(json_encode( ($ldap->contact_info($result,array('telephonenumber')))));
echo("----------------------------------------------------");
?>
页:
[1]