首頁 後端開發 php教程 PHP操作AD,adLDAP类API详解与实例_PHP教程

PHP操作AD,adLDAP类API详解与实例_PHP教程

Jul 13, 2016 pm 05:45 PM
api php 下載 實例 工具 操作 類別 詳解 透過

本文简述通过PHP操作AD
工具 ADLDAP.php
下载位置http://adldap.sourceforge.net/download.php
API(以下来自http://adldap.sourceforge.net,翻译水平有限,如有不妥之处敬请指正)
constructor($options=array())//构造器
你可以通过配置变量的方式指定该类中AD的设置, 或者当类被调用的时候可以通过指定$option数组的方式被覆盖.
调用方式形似 $object = new adLDAP($options); $options 是一个由下列一个或多个keys组成的数组

account_suffix
默认:”@mydomain.local”
完整的域帐户后缀
base_dn
默认: “DC=mydomain,DC=local”
域的base dn. 一般来讲 base dn 与account suffix相同, 但是被隔开的且以"DC="为前缀. base dn 可被定位于Active Directory Users及Computers MMC的扩
展属性上
如果认证用户正常,但不能搜索,一般来说是由于指定了不正确的base_dn
 
domain_controllers
默认: array (“dc01.mydomain.local”)
域控制器数组,如果你希望该类通过多个控制器来平衡查询,可以在该数组中指定多个控制器,记住该类会向一个不可连接的域控制器发送请求,因为它只实施平衡
而无容错
.

ad_username
默认: NULL
默认地,adLDAP会以已经认证的用户帐号权限执行查询,你可以指定一个拥有更高权限的用来执行授权操作的用户帐号
 
ad_password
默认: NULL
ad_username相应的密码.

real_primarygroup
通过“Domain Users” 覆盖 primary group

use_ssl
默认: false
adLDAP 可以通过SSL使用LDAP以提供额外功能例如修改密码,选择此项时你的域控制器和WEB服务器均需配置相应选项,不只将其设置为true,详细请参考SSL方式的
LDAP选项
 
recursive_groups
默认: true
递归查询组成员
如用户Fred是组“Business Unit” 的成员,“Business Unit” 是组Department”的成员,Department”是组“Company”的成员
user_ingroup(“Fred”,”Company”)当该项开启的时候返回true,否则返回false
------------------------以下主要的操作方法
authenticate($username,$password,$prevent_rebind=false)
鉴别域控制器用户的username/password
 
group_add_group($parent,$child)
向父组里添加子组,返回true或false
 
group_add_user($group,$username)
向一个组里添加一个用户,返回true或false
 
group_create($attributes)
以指定属性创建一个组,返回true或false

Attribute Req Notes
group_name *  
container *  
description  

group_del_group($parent,$child)
从父组里删除子组,返回true或false

group_del_user($group,$users)
从一个组里删除一个用户,返回true或false

group_info($group_name,$fields=NULL)
返回一个关于指定组的信息数组,组名称区分大小写
默认文件包含member, memberof, description, distinguishedname, objectcategory, samaccountname

user_create($attributes)
创建一个用户,操作成功或失败时返回true或false

Attribute Req Notes
username *  
firstname *  
surname *  
email *  
container * The folder in AD to add the user to.
address_city   
address_code   
address_pobox   
address_state   
address_street   
change_password   如果为0用户下次登录时无需修改密码为1时下次登录时必须修改密码
company   公司名称.
department   
description   
display_name   
email   email地址,非exchange mailbox
enabled   0 为 disabled 1 为 enabled   
expires   帐户有效期 (unix timestamp).
firstname   
home_directory   
home_drive   
initials   
logon_name   登录名称不同于其他用户名.
manager   
office   
password   The password can only be set over SSL. It must also meet the password policy for your domain.
profile_path   
script_path   
surname   
title   
telephone   
web_page  

user_delete($username)
删除一个用户,返回 true 或 false

user_groups($username,$recursive=NULL)
返回用户所属组的信息

如果$recursive为 true, 将递归返回组列表.

user_info($username,$fields=NULL)
返回指定用户的信息数组,$fields必须为数组
默认fields 为: samaccountname, mail, memberof, department, displayname, telephonenumber, primarygroupid
欲查看所有可用信息,将$fields 设置"*"调用此函数
这个函数将返回一个有限集,除非当前认证帐户为administrator,一个用户也不能查询另一个用户的"memberof"域,除非它们是这个容器的管理者

user_ingroup($username,$group,$recursive=NULL)
用户是否属于该组,返回true或false
像user_info()函数一样,这个函数只有当当前认证用户是administrator时才会返回有效结果
 
user_modify($username,$attributes)
修改用户属性,返回true或false

user_password($username,$password)
设置指定用户的密码,. 要求配置通过ldaps.

computer_info($computer_name,$fields=NULL)
返回指定计算机的详细信息.

all_users($include_desc = false, $search = "*", $sorted = true)
返回AD里用户所有列表,在大目录里可能无法工作
all_groups($include_desc = false,$search = "*", $sorted = true)
返回AD里组所有列表,在大目录里可能无法工作
Samples:
登录
include "adLDAP.php"
$config['account_suffix'] = '@xxx.com';//域控制器后缀
$config['adserver'] = array('192.168.1.10','192.168.1.1');//域控制器,如果只有一台array('192.168.1.10')
$config['base_dn'] = 'cn=users,dc=xxx,dc=com';
$adldap =new adLDAP(array('domain_controllers'=>$config['adserver'],'account_suffix'=>$config['account_suffix'],'base_dn'=>$config
['base_dn'],'ad_username' => 'administrator','ad_password' => ''));
if($adldap)
{
    echo "登录成功";
}
else
{
    echo "登录失败";
}
?>
列出所有用户
echo "All users
";
foreach($adldap->all_users() as $val)
{
echo $val."
";
}
?>
列出所有组
echo "groups
";
foreach($adldap->all_groups() as $val)
{
echo $val."
";
}
?>
打印某台计算机信息
print_r($adldap->user_info("wang"));
?>
创建用户
if ($adldap->user_create(array('username' => 'tonix','firstname' => 'firstname','surname' => "surname",'email' => 'e@123.com','container' =>
'container')))
{
echo "OK";
}
else
{
echo "error";
}
?>
创建组
if ($adldap->group_create("group_name=test,container=www"))
{
echo "OK";
}
else
{
echo "error";
}
?>

作者“飞翔的人生”
 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/478629.htmlTechArticle本文简述通过PHP操作AD 工具 ADLDAP.php 下载位置http://adldap.sourceforge.net/download.php API(以下来自http://adldap.sourceforge.net,翻译水平有限,如有不妥之...
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

比特幣今日價格行情 比特幣今日價格行情 Apr 28, 2025 pm 07:39 PM

比特幣今日價格波動受宏觀經濟、政策、市場情緒等多因素影響,投資者需關注技術和基本面分析以做出明智決策。

現貨王者轉型記:Gate.io MeMebox 2.0如何佈局下一代鏈上生態? 現貨王者轉型記:Gate.io MeMebox 2.0如何佈局下一代鏈上生態? Apr 28, 2025 pm 03:36 PM

Gate.io通過MeMebox 2.0實現了從現貨交易向鏈上生態的轉型。 1) 構建跨鏈基礎設施,支持12條主鏈互通;2) 打造DeFi應用生態,提供一站式服務;3) 實施激勵機制,重構價值分配。

靠譜的數字貨幣交易平台推薦 全球十大數字貨幣交易所排行榜2025 靠譜的數字貨幣交易平台推薦 全球十大數字貨幣交易所排行榜2025 Apr 28, 2025 pm 04:30 PM

靠谱的数字货币交易平台推荐:1. OKX,2. Binance,3. Coinbase,4. Kraken,5. Huobi,6. KuCoin,7. Bitfinex,8. Gemini,9. Bitstamp,10. Poloniex,这些平台均以其安全性、用户体验和多样化的功能著称,适合不同层次的用户进行数字货币交易

比特幣值多少美金 比特幣值多少美金 Apr 28, 2025 pm 07:42 PM

比特幣的價格在20,000到30,000美元之間。 1. 比特幣自2009年以來價格波動劇烈,2017年達到近20,000美元,2021年達到近60,000美元。 2. 價格受市場需求、供應量、宏觀經濟環境等因素影響。 3. 通過交易所、移動應用和網站可獲取實時價格。 4. 比特幣價格波動性大,受市場情緒和外部因素驅動。 5. 與傳統金融市場有一定關係,受全球股市、美元強弱等影響。 6. 長期趨勢看漲,但需謹慎評估風險。

如何選擇合規安全的比特幣交易平台 如何選擇合規安全的比特幣交易平台 Apr 28, 2025 pm 05:42 PM

選擇合規安全的比特幣交易平台需評估其監管許可、KYC/AML政策和安全措施,推薦Binance、OKX和gate.io三大平台。

歐易官網入口 歐易官方最新入口2025 歐易官網入口 歐易官方最新入口2025 Apr 28, 2025 pm 07:48 PM

選擇可靠的交易平台如歐易(OKEx),確保訪問官方入口。

歐易交易所app官網下載蘋果手機下載 歐易交易所app官網下載蘋果手機下載 Apr 28, 2025 pm 06:57 PM

歐易交易所app支持蘋果手機下載,訪問官網,點擊“蘋果手機”選項,在App Store中獲取並安裝,註冊或登錄後即可進行加密貨幣交易。

芝麻開門官網入口 芝麻開門官方最新入口2025 芝麻開門官網入口 芝麻開門官方最新入口2025 Apr 28, 2025 pm 07:51 PM

芝麻開門是重點加密貨幣交易的平台,用戶可以通過官方網站或社交媒體獲取入口,確保訪問時驗證SSL證書和網站內容的真實性。

See all articles