<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    LDAP

    LDAP是什么
    LDAP是一個用來發布目錄信息到許多不同資源的協議。通常它都作為一個集中的地址本使用,不過根據組織者的需要,它可以做得更加強大。
      LDAP最基本的形式是一個連接數據庫的標準方式。該數據庫為讀查詢作了優化。因此它可以很快地得到查詢結果,不過在其它方面,例如更新,就慢得多。要特別注意的是,LDAP通常作為一個hierarchal數據庫使用,而不是一個關系數據庫。因此,它的結構用樹來表示比用表格好。正因為這樣,就不能用SQL語句了。

      簡單說來,LDAP是一個得到關于人或者資源的集中、靜態數據的快速方式。

    LDAP是輕量目錄訪問協議(Lightweight Directory Access Protocol)的縮寫,其實是一話號碼簿,類似于我們所使用諸如NIS(Network Information Service)、DNS (Domain Name Service)等網絡目錄,也類似于你在花園中所看到的樹木。
    LDAP是一種特殊的數據庫。但是LDAP和一般的數據庫不同,明白這一點是很重要的。 LDAP對查詢進行了優化,與寫性能相比LDAP的讀性能要優秀很多。
    1.1 LDAP的存儲規則
    區分名(DN,Distinguished Name)
    和自然界中的樹不同,文件系統/LDAP/電話號碼簿目錄的每一片枝葉都至少有一個獨一無二的屬性,這一屬性可以幫助我們來區別這些枝葉。
    在文件系統中, 這些獨一無二的屬性就是帶有完整路徑的文件名。比如/etc/passwd,該文件名在該路徑下是獨一無二的。當然我們可以有/usr/passwd, /opt/passwd,但是根據它們的完整路徑,它們仍然是唯一的。
    在LDAP中,一個條目的區分名稱叫做“dn”或者叫做區分名。在一個目錄中這個名稱總是唯一的。比如,我的dn是"uid=aghaffar, ou=People, o=developer.ch"。不可能有相同的dn,但是我們可以有諸如"uid=aghaffar, ou=Administrators, o=developer.ch"的dn。這同上面文件系統中/etc/passwd 和 /usr/passwd的例子很類似。
    我們有獨一無二的屬性,在"ou=Administrators, o=developer.ch" 中uid和在"ou=People, o=developer.ch"中的uid。這并不矛盾。
    CN=Common Name 為用戶名或服務器名,最長可以到80個字符,可以為中文;
    OU=Organization Unit為組織單元,最多可以有四級,每級最長32個字符,可以為中文;
    O=Organization 為組織名,可以3—64個字符長
    C=Country為國家名,可選,為2個字符長

    LDAP目錄以一系列“屬性對”的形式來存儲記錄項,每一個記錄項包括屬性類型和屬性值(這與關系型數據庫用行和列來存取數據有根本的不同)。
    mail = testmail@mccc.net
    othermailbox = testmailother@mccc.com
    givenname = givenname
    sn = test sn
    屬性可添加,以下一個屬性必須賦值:
    objectclass=person (值為:person 或 server 或 organization 或 其他自定義的值)

    2 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);
    //關閉連接

    posted on 2007-02-09 10:23 Timothy 閱讀(1034) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    <2007年2月>
    28293031123
    45678910
    11121314151617
    18192021222324
    25262728123
    45678910

    導航

    統計

    公告

    語義Web : 網絡就是計算機,軟件就是服務!

    常用鏈接

    留言簿(4)

    隨筆檔案(20)

    文章分類(25)

    文章檔案(25)

    新聞分類(4)

    新聞檔案(4)

    相冊

    收藏夾(27)

    個人主頁

    網絡博客

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 91免费福利视频| 亚洲精品无码不卡在线播放| 免费国产污网站在线观看不要卡| 嫩草影院在线免费观看| 亚洲国产精品无码久久久秋霞1| 97无码免费人妻超级碰碰夜夜 | 日韩免费视频一区| 亚洲欧洲无卡二区视頻| 日本人护士免费xxxx视频| 国产亚洲精品AAAA片APP| 亚洲日韩国产一区二区三区| 久久国产美女免费观看精品| 亚洲国产精品成人精品无码区 | 亚洲精品无码国产片| 永久免费视频v片www| 午夜在线免费视频| 亚洲精品高清国产一线久久| 久草视频在线免费看| 亚洲色欲色欲www| 又黄又爽无遮挡免费视频| 久久久久国色AV免费观看| 亚洲AV午夜成人片| 国产精品69白浆在线观看免费 | 中文字幕乱码一区二区免费| 麻豆亚洲av熟女国产一区二| 成人免费a级毛片无码网站入口| 老牛精品亚洲成av人片| 亚洲色大成网站WWW久久九九| 84pao强力永久免费高清| 亚洲av永久无码| 亚洲精品国产精品乱码不卡√| 最近中文字幕免费2019| www亚洲精品久久久乳| 亚洲深深色噜噜狠狠爱网站| 亚欧在线精品免费观看一区| 99亚洲乱人伦aⅴ精品| 久久精品夜色国产亚洲av| 韩国日本好看电影免费看| 免费国产成人午夜在线观看| 亚洲熟妇AV一区二区三区宅男| 亚洲中文字幕无码爆乳av中文|