LDAP是什麼?Php如何操作LDAP

來源:互聯網
上載者:User
Php如何操作LDAP
2.1 Php如何與LDAP串連和關閉
$ds=ldap_connect("ServerName")
ServerName是LDAP的伺服器名,

例:
$ds=ldap_connect(“10.31.172.30:1000”)
傳回值是:true 或 false

關閉串連
ldap_close($ds);

2.2 在php中如何搜尋使用者資訊

$ds=ldap_connect("10.31.172.30:1000");
//首先串連上伺服器
$justthese = array("cn","userpassword",”location”);
//搜尋函數中的一個參數,要求返回哪些資訊,
//以上傳回cn,userpassword,location,這些都要求小寫
$sr=ldap_search($ds,"o=jite", "cn=dom*",$justthese); 
//第一個參數開啟LDAP的代號
//第二個參數最基本的 dn 條件值 , 例:”o=jite,c=cn”
//第三個參數 filter 為布林條件,它的文法可以在 Netscape 站上找一份 dirsdkpg.pdf 檔案.
// ’o’為組織名,’cn’ 為使用者名稱,使用者名稱可用萬用字元 ’*’
echo "domadmin姓氏有".ldap_count_entries($ds,$sr)." 個<p>";
//ldap_count_entries($ds,$sr)傳回記錄總數

$info = ldap_get_entries($ds, $sr);
//LDAP的全部傳回資料
echo "資料傳回 ".$info["count"]."筆:<p>";
for ($i=0; $i<$info["count"]; $i++) {
echo "dn為:". $info[$i]["dn"] ."<br>";
echo "cn為:". $info[$i]["cn"][0] ."<br>"; //顯示使用者名稱
echo "email為:". $info[$i]["mail"][0] ."<p>"; //顯示mail
echo "email為:". $info[$i][“userpassword"][0] ."<p>"; //顯示加密後的密碼
}
2.3 添加使用者
$ds=ldap_connect("10.31.172.30:1000");
//首先串連上伺服器
$r=ldap_bind($ds,"cn=domadmin,o=jite","password");
//系住一個管理員,有寫的許可權
// cn=domadmin,o=jite順序不能變
$info["cn"]="aaa"; //必填 
$info["userpassword"]="aaa"; 
$info["location"]="shanghai";
$info["objectclass"] = "person"; //必填person為個人,還有server…
ldap_add($ds, "cn=".$info["cn"].",o=jite", $info);
ldap_unbind($ds);
//取消綁定
ldap_close($ds);
//關閉串連
2.4 刪除使用者
$ds=ldap_connect("10.31.172.30:1000");
//首先串連上伺服器 
ldap_bind($ds,"cn=domadmin,o=jite","password");
//綁定管理員,有刪除的許可權
$dn="cn=dingxf,o=jite";
ldap_delete($ds, $dn);
//刪除使用者
ldap_unbind($ds);
//取消綁定
ldap_close($ds);
//關閉串連
2.5 修改使用者資料
$ds=ldap_connect("10.31.172.30:1000");
//首先串連上伺服器 
ldap_bind($ds,"cn=domadmin,o=jite","password");
//綁定管理員,有修改的許可權
$dn="cn=dingxf,o=jite"; 
//使用者dn
$info["userpassword"]="aaa"; //要修改的資訊,放在陣列變數中
$info["location"]="shanghaisdaf";

ldap_modify($ds, $dn , $info);
//修改函數
ldap_unbind($ds);
//取消綁定
ldap_close($ds);
//關閉串連
2.6 使用者登入驗證
$ds=ldap_connect("10.31.172.30:1000");
//首先串連上伺服器 
if (ldap_bind($ds,"cn=dingxf,o=jite","dingxf")){
echo "驗證通過";
}else{
echo "驗證不通過";
}
ldap_unbind($ds);
//取消綁定
ldap_close($ds);
//關閉串連



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.