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

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

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

    blog.Toby

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      130 隨筆 :: 2 文章 :: 150 評(píng)論 :: 0 Trackbacks
    LDAP的英文全稱是Lightweight Directory Access Protocol,一般都簡(jiǎn)稱為L(zhǎng)DAP。它是基于X.500標(biāo)準(zhǔn)的,但是簡(jiǎn)單多了并且可以根據(jù)需要定制。與X.500不同,LDAP支持TCP/IP,這對(duì)訪問Internet是必須的。LDAP的核心規(guī)范在RFC中都有定義,所有與LDAP相關(guān)的RFC都可以在LDAPman RFC網(wǎng)頁中找到。現(xiàn)在LDAP技術(shù)不僅發(fā)展得很快而且也是激動(dòng)人心的。在企業(yè)范圍內(nèi)實(shí)現(xiàn)LDAP可以讓運(yùn)行在幾乎所有計(jì)算機(jī)平臺(tái)上的所有的應(yīng)用程序從LDAP目錄中獲取信息。LDAP目錄中可以存儲(chǔ)各種類型的數(shù)據(jù):電子郵件地址、郵件路由信息、人力資源數(shù)據(jù)、公用密匙、聯(lián)系人列表,等等。通過把LDAP目錄作為系統(tǒng)集成中的一個(gè)重要環(huán)節(jié),可以簡(jiǎn)化員工在企業(yè)內(nèi)部查詢信息的步驟,甚至連主要的數(shù)據(jù)源都可以放在任何地方。 

      LDAP目錄的優(yōu)勢(shì) 

        如果需要開發(fā)一種提供公共信息查詢的系統(tǒng)一般的設(shè)計(jì)方法可能是采用基于WEB的數(shù)據(jù)庫設(shè)計(jì)方式,即前端使用瀏覽器而后端使用WEB服務(wù)器加上關(guān)系數(shù)據(jù)庫。后端在Windows的典型實(shí)現(xiàn)可能是Windows NT + IIS + Acess數(shù)據(jù)庫或者是SQL服務(wù)器,IIS和數(shù)據(jù)庫之間通過ASP技術(shù)使用ODBC進(jìn)行連接,達(dá)到通過填寫表單查詢數(shù)據(jù)的功能; 
        后端在Linux系統(tǒng)的典型實(shí)現(xiàn)可能是Linux+ Apache + postgresql,Apache和數(shù)據(jù)庫之間通過PHP3提供的函數(shù)進(jìn)行連接。使用上述方法的缺點(diǎn)是后端關(guān)系數(shù)據(jù)庫的引入導(dǎo)致系統(tǒng)整體的性能降低和系統(tǒng)的管理比較繁瑣,因?yàn)樾枰粩嗟倪M(jìn)行數(shù)據(jù)類型的驗(yàn)證和事務(wù)的完整性的確認(rèn);并且前端用戶對(duì)數(shù)據(jù)的控制不夠靈活,用戶權(quán)限的設(shè)置一般只能是設(shè)置在表一級(jí)而不是設(shè)置在記錄一級(jí)。 

        目錄服務(wù)的推出主要是解決上述數(shù)據(jù)庫中存在的問題。目錄與關(guān)系數(shù)據(jù)庫相似,是指具有描述性的基于屬性的記錄集合,但它的數(shù)據(jù)類型主要是字符型,為了檢索的需要添加了BIN(二進(jìn)制數(shù)據(jù))、CIS(忽略大小寫)、CES(大小寫敏感)、TEL(電話型)等語法(Syntax),而不是關(guān)系數(shù)據(jù)庫提供的整數(shù)、浮點(diǎn)數(shù)、日期、貨幣等類型,同樣也不提供象關(guān)系數(shù)據(jù)庫中普遍包含的大量的函數(shù),它主要面向數(shù)據(jù)的查詢服務(wù)(查詢和修改操作比一般是大于10:1),不提供事務(wù)的回滾(rollback)機(jī)制,它的數(shù)據(jù)修改使用簡(jiǎn)單的鎖定機(jī)制實(shí)現(xiàn)All-or-Nothing,它的目標(biāo)是快速響應(yīng)和大容量查詢并且提供多目錄服務(wù)器的信息復(fù)制功能。 

        現(xiàn)在該說說LDAP目錄到底有些什么優(yōu)勢(shì)了。現(xiàn)在LDAP的流行是很多因數(shù)共同作用的結(jié)果。可能LDAP最大的優(yōu)勢(shì)是:可以在任何計(jì)算機(jī)平臺(tái)上,用很容易獲得的而且數(shù)目不斷增加的LDAP的客戶端程序訪問LDAP目錄。而且也很容易定制應(yīng)用程序?yàn)樗由螸DAP的支持。 

        LDAP協(xié)議是跨平臺(tái)的和標(biāo)準(zhǔn)的協(xié)議,因此應(yīng)用程序就不用為L(zhǎng)DAP目錄放在什么樣的服務(wù)器上操心了。實(shí)際上,LDAP得到了業(yè)界的廣泛認(rèn)可,因?yàn)樗荌nternet的標(biāo)準(zhǔn)。產(chǎn)商都很愿意在產(chǎn)品中加入對(duì)LDAP的支持,因?yàn)樗麄兏静挥每紤]另一端(客戶端或服務(wù)端)是怎么樣的。LDAP服務(wù)器可以是任何一個(gè)開發(fā)源代碼或商用的LDAP目錄服務(wù)器(或者還可能是具有LDAP界面的關(guān)系型數(shù)據(jù)庫),因?yàn)榭梢杂猛瑯拥膮f(xié)議、客戶端連接軟件包和查詢命令與LDAP服務(wù)器進(jìn)行交互。與LDAP不同的是,如果軟件產(chǎn)商想在軟件產(chǎn)品中集成對(duì)DBMS的支持,那么通常都要對(duì)每一個(gè)數(shù)據(jù)庫服務(wù)器單獨(dú)定制。不象很多商用的關(guān)系型數(shù)據(jù)庫,你不必為L(zhǎng)DAP的每一個(gè)客戶端連接或許可協(xié)議付費(fèi) 大多數(shù)的LDAP服務(wù)器安裝起來很簡(jiǎn)單,也容易維護(hù)和優(yōu)化。 

        LDAP服務(wù)器可以用“推”或“拉”的方法復(fù)制部分或全部數(shù)據(jù),例如:可以把數(shù)據(jù)“推”到遠(yuǎn)程的辦公室,以增加數(shù)據(jù)的安全性。復(fù)制技術(shù)是內(nèi)置在LDAP服務(wù)器中的而且很容易配置。如果要在DBMS中使用相同的復(fù)制功能,數(shù)據(jù)庫產(chǎn)商就會(huì)要你支付額外的費(fèi)用,而且也很難管理。 

        LDAP允許你根據(jù)需要使用ACI(一般都稱為ACL或者訪問控制列表)控制對(duì)數(shù)據(jù)讀和寫的權(quán)限。例如,設(shè)備管理員可以有權(quán)改變員工的工作地點(diǎn)和辦公室號(hào)碼,但是不允許改變記錄中其它的域。ACI可以根據(jù)誰訪問數(shù)據(jù)、訪問什么數(shù)據(jù)、數(shù)據(jù)存在什么地方以及其它對(duì)數(shù)據(jù)進(jìn)行訪問控制。因?yàn)檫@些都是由LDAP目錄服務(wù)器完成的,所以不用擔(dān)心在客戶端的應(yīng)用程序上是否要進(jìn)行安全檢查。 

        LDAP(Lightweight Directory Acess Protocol)是目錄服務(wù)在TCP/IP上的實(shí)現(xiàn)(RFC 1777 V2版和RFC 2251 V3版)。它是對(duì)X500的目錄協(xié)議的移植,但是簡(jiǎn)化了實(shí)現(xiàn)方法,所以稱為輕量級(jí)的目錄服務(wù)。在LDAP中目錄是按照樹型結(jié)構(gòu)組織,目錄由條目(Entry)組成,條目相當(dāng)于關(guān)系數(shù)據(jù)庫中表的記錄;條目是具有區(qū)別名DN(Distinguished Name)的屬性(Attribute)集合,DN相當(dāng)于關(guān)系數(shù)據(jù)庫表中的關(guān)鍵字(Primary Key);屬性由類型(Type)和多個(gè)值(Values)組成,相當(dāng)于關(guān)系數(shù)據(jù)庫中的域(Field)由域名和數(shù)據(jù)類型組成, 
    只是為了方便檢索的需要,LDAP中的Type可以有多個(gè)Value,而不是關(guān)系數(shù)據(jù)庫中為降低數(shù)據(jù)的冗余性要求實(shí)現(xiàn)的各個(gè)域必須是不相關(guān)的。LDAP中條目的組織一般按照地理位置和組織關(guān)系進(jìn)行組織,非常的直觀。LDAP把數(shù)據(jù)存放在文件中,為提高效率可以使用基于索引的文件數(shù)據(jù)庫,而不是關(guān)系數(shù)據(jù)庫。LDAP協(xié)議集還規(guī)定了DN的命名方法、存取控制方法、搜索格式、復(fù)制方法、URL格式、開發(fā)接口等 

        LDAP對(duì)于這樣存儲(chǔ)這樣的信息最為有用,也就是數(shù)據(jù)需要從不同的地點(diǎn)讀取,但是不需要經(jīng)常更新。 

        例如,這些信息存儲(chǔ)在LDAP目錄中是十分有效的: 

        l 公司員工的電話號(hào)碼簿和組織結(jié)構(gòu)圖 

        l 客戶的聯(lián)系信息 

        l 計(jì)算機(jī)管理需要的信息,包括NIS映射、email假名,等等 

        l 軟件包的配置信息 

        l 公用證書和安全密匙 

      什么時(shí)候該用LDAP存儲(chǔ)數(shù)據(jù) 


        大多數(shù)的LDAP服務(wù)器都為讀密集型的操作進(jìn)行專門的優(yōu)化。因此,當(dāng)從LDAP服務(wù)器中讀取數(shù)據(jù)的時(shí)候會(huì)比從專門為OLTP優(yōu)化的關(guān)系型數(shù)據(jù)庫中讀取數(shù)據(jù)快一個(gè)數(shù)量級(jí)。也是因?yàn)閷iT為讀的性能進(jìn)行優(yōu)化,大多數(shù)的LDAP目錄服務(wù)器并不適合存儲(chǔ)需要需要經(jīng)常改變的數(shù)據(jù)。例如,用LDAP服務(wù)器來存儲(chǔ)電話號(hào)碼是一個(gè)很好的選擇,但是它不能作為電子商務(wù)站點(diǎn)的數(shù)據(jù)庫服務(wù)器。 

        如果下面每一個(gè)問題的答案都是“是”,那么把數(shù)據(jù)存在LDAP中就是一個(gè)好主意。 

        l 需要在任何平臺(tái)上都能讀取數(shù)據(jù)嗎? 

        l 每一個(gè)單獨(dú)的記錄項(xiàng)是不是每一天都只有很少的改變? 

        l 可以把數(shù)據(jù)存在平面數(shù)據(jù)庫(flat database)而不是關(guān)系型數(shù)據(jù)庫中嗎?換句話來說,也就是不管什么范式不式的,把所有東西都存在一個(gè)記錄中(差不多只要滿足第一范式)。 


        最后一個(gè)問題可能會(huì)唬住一些人,其實(shí)用平面數(shù)據(jù)庫去存儲(chǔ)一些關(guān)系型的數(shù)據(jù)也是很一般的。例如,一條公司員工的記錄就可以包含經(jīng)理的登錄名。用LDAP來存儲(chǔ)這類信息是很方便的。一個(gè)簡(jiǎn)單的判斷方法:如果可以把保數(shù)據(jù)存在一張張的卡片里,就可以很容易地把它存在LDAP目錄里。 


      安全和訪問控制 

        LDAP提供很復(fù)雜的不同層次的訪問控制或者ACI。因這些訪問可以在服務(wù)器端控制,這比用客戶端的軟件保證數(shù)據(jù)的安全可安全多了。 

    用LDAP的ACI,可以完成: 

        l 給予用戶改變他們自己的電話號(hào)碼和家庭地址的權(quán)限,但是限制他們對(duì)其它數(shù)據(jù)(如,職務(wù)名稱,經(jīng)理的登錄名, 
    等等)只有“只讀”權(quán)限。 

        l 給予“HR-admins"組中的所有人權(quán)限以改變下面這些用戶的信息:經(jīng)理、工作名稱、員工號(hào)、部門名稱和部門號(hào)。 
    但是對(duì)其它域沒有寫權(quán)限。 

        l 禁止任何人查詢LDAP服務(wù)器上的用戶口令,但是可以允許用戶改變他或她自己的口令。 

        l 給予經(jīng)理訪問他們上級(jí)的家庭電話的只讀權(quán)限,但是禁止其他人有這個(gè)權(quán)限。 

        l 給予“host-admins"組中的任何人創(chuàng)建、刪除和編輯所有保存在LDAP服務(wù)器中的與計(jì)算機(jī)主機(jī)有關(guān)的信息 

        l 通過Web,允許“foobar-sales"組中的成員有選擇地給予或禁止他們自己讀取一部分客戶聯(lián)系數(shù)據(jù)的讀權(quán)限。這將允許他們把客戶聯(lián)系信息下載到本地的筆記本電腦或個(gè)人數(shù)字助理(PDA)上。(如果銷售人員的軟件都支持LDAP,這將非常有用) 

        l 通過Web,允許組的所有者刪除或添加他們擁有的組的成員。例如:可以允許銷售經(jīng)理給予或禁止銷售人員改變Web頁的權(quán)限。也可以允許郵件假名(mail aliase)的所有者不經(jīng)過IT技術(shù)人員就直接從郵件假名中刪除或添加用戶。“公用”的郵件列表應(yīng)該允許用戶從郵件假名中添加或刪除自己(但是只能是自己)。也可以對(duì)IP地址或主機(jī)名加以限制。例如,某些域只允許用戶IP地址以192.168.200.*開頭的有讀的權(quán)限,或者用戶反向查找DNS得到的主機(jī)名必須為*.foobar.com。 

      LDAP目錄樹的結(jié)構(gòu) 

        LDAP目錄以樹狀的層次結(jié)構(gòu)來存儲(chǔ)數(shù)據(jù)。如果你對(duì)自頂向下的DNS樹或UNIX文件的目錄樹比較熟悉,也就很容易掌握LDAP目錄樹這個(gè)概念了。就象DNS的主機(jī)名那樣,LDAP目錄記錄的標(biāo)識(shí)名(Distinguished Name,簡(jiǎn)稱DN)是用來讀取單個(gè)記錄,以及回溯到樹的頂部。后面會(huì)做詳細(xì)地介紹。 

       為什么要用層次結(jié)構(gòu)來組織數(shù)據(jù)呢?原因是多方面的。下面是可能遇到的一些情況: 

        l 如果你想把所有的美國(guó)客戶的聯(lián)系信息都“推”到位于到西雅圖辦公室(負(fù)責(zé)營(yíng)銷)的LDAP服務(wù)器上,但是你不想把公司的資產(chǎn)管理信息“推”到那里。 

        l 你可能想根據(jù)目錄樹的結(jié)構(gòu)給予不同的員工組不同的權(quán)限。在下面的例子里,資產(chǎn)管理組對(duì)“asset-mgmt"部分有完全的訪問權(quán)限,但是不能訪問其它地方。 

        l 把LDAP存儲(chǔ)和復(fù)制功能結(jié)合起來,可以定制目錄樹的結(jié)構(gòu)以降低對(duì)WAN帶寬的要求。位于西雅圖的營(yíng)銷辦公室需要每分鐘更新的美國(guó)銷售狀況的信息,但是歐洲的銷售情況就只要每小時(shí)更新一次就行了。 

      刨根問底:基準(zhǔn)DN 

        LDAP目錄樹的最頂部就是根,也就是所謂的“基準(zhǔn)DN"。基準(zhǔn)DN通常使用下面列出的三種格式之一。假定我在名為FooBar的電子商務(wù)公司工作,這家公司在Internet上的名字是foobar.com。 o="FooBar, Inc.", c=US (以X.500格式表示的基準(zhǔn)DN) 在這個(gè)例子中o=FooBar, Inc. 表示組織名,在這里就是公司名的同義詞。c=US 表示公司的總部在美國(guó)。以前,一般都用這種方式來表示基準(zhǔn)DN。但是事物總是在不斷變化的,現(xiàn)在所有的公司都已經(jīng)(或計(jì)劃)上Internet上。隨著 
    Internet的全球化,在基準(zhǔn)DN中使用國(guó)家代碼很容易讓人產(chǎn)生混淆。現(xiàn)在,X.500格式發(fā)展成下面列出的兩種格式。 

        o=foobar.com 

    (用公司的Internet地址表示的基準(zhǔn)DN) 

    這種格式很直觀,用公司的域名作為基準(zhǔn)DN。這也是現(xiàn)在最常用的格式。 

        dc=foobar, dc=com 

    (用DNS域名的不同部分組成的基準(zhǔn)DN) 

        就象上面那一種格式,這種格式也是以DNS域名為基礎(chǔ)的,但是上面那種格式不改變域名(也就更易讀),而這種格式把域名:foobar.com分成兩部分 dc=foobar, dc=com。在理論上,這種格式可能會(huì)更靈活一點(diǎn),但是對(duì)于最終用戶來說也更難記憶一點(diǎn)。考慮一下foobar.com這個(gè)例子。當(dāng)foobar.com和gizmo.com合并之后,可以簡(jiǎn)單的把“dc=com"當(dāng)作基準(zhǔn)DN。把新的記錄放到已經(jīng)存在的dc=gizmo, dc=com目錄下,這樣就簡(jiǎn)化了很多工作(當(dāng)然,如果foobar.com和wocket.edu合并,這個(gè)方法就不能用了)。如果LDAP服務(wù)器是新安裝的,我建議你使用這種格式。再請(qǐng)注意一下,如果你打算使用活動(dòng)目錄(Actrive Directory),Microsoft已經(jīng)限制你必須使用這種格式。 

    更上一層樓:在目錄樹中怎么組織數(shù)據(jù) 

        在UNIX文件系統(tǒng)中,最頂層是根目錄(root)。在根目錄的下面有很多的文件和目錄。象上面介紹的那樣,LDAP目錄也是用同樣的方法組織起來的。 

        在根目錄下,要把數(shù)據(jù)從邏輯上區(qū)分開。因?yàn)闅v史上(X.500)的原因,大多數(shù)LDAP目錄用OU從邏輯上把數(shù)據(jù)分開來。OU 
    表示“Organization Unit",在X.500協(xié)議中是用來表示公司內(nèi)部的機(jī)構(gòu):銷售部、財(cái)務(wù)部,等等。現(xiàn)在LDAP還保留ou=這樣的命名規(guī)則,但是擴(kuò)展了分類的范圍,可以分類為:ou=people, ou=groups, ou=devices,等等。更低一級(jí)的OU有時(shí)用來做更細(xì)的歸類。例如:LDAP目錄樹(不包括單獨(dú)的記錄)可能會(huì)是這樣的: 

    dc=foobar, dc=com 

    ou=customers 

    ou=asia 

    ou=europe 

    ou=usa 

    ou=employees 

    ou=rooms 

    ou=groups 

    ou=assets-mgmt 

    ou=nisgroups 

    ou=recipes 

    單獨(dú)的LDAP記錄 

      DN是LDAP記錄項(xiàng)的名字 

        在LDAP目錄中的所有記錄項(xiàng)都有一個(gè)唯一的“Distinguished Name",也就是DN。每一個(gè)LDAP記錄項(xiàng)的DN是由兩個(gè)部分組成的:相對(duì)DN(RDN)和記錄在LDAP目錄中的位置。 

        RDN是DN中與目錄樹的結(jié)構(gòu)無關(guān)的部分。在LDAP目錄中存儲(chǔ)的記錄項(xiàng)都要有一個(gè)名字,這個(gè)名字通常存在cn(Common Name)這個(gè)屬性里。因?yàn)閹缀跛械臇|西都有一個(gè)名字,在LDAP中存儲(chǔ)的對(duì)象都用它們的cn值作為RDN的基礎(chǔ)。如果我把最喜歡的吃燕麥粥食譜存為一個(gè)記錄,我就會(huì)用cn=Oatmeal Deluxe作為記錄項(xiàng)的RDN。 

        l 我的LDAP目錄的基準(zhǔn)DN是dc=foobar,dc=com 

        l 我把自己的食譜作為L(zhǎng)DAP的記錄項(xiàng)存在ou=recipes 

        l 我的LDAP記錄項(xiàng)的RDN設(shè)為cn=Oatmeal Deluxe 

    上面這些構(gòu)成了燕麥粥食譜的LDAP記錄的完整DN。記住,DN的讀法和DNS主機(jī)名類似。下面就是完整的DN: 

        cn=Oatmeal Deluxe,ou=recipes,dc=foobar,dc=com 

    舉一個(gè)實(shí)際的例子來說明DN 

        現(xiàn)在為公司的員工設(shè)置一個(gè)DN。可以用基于cn或uid(User ID),作為典型的用戶帳號(hào)。例如,F(xiàn)ooBar的員工Fran Smith (登錄名:fsmith)的DN可以為下面兩種格式: 

        uid=fsmith,ou=employees,dc=foobar,dc=com 

    (基于登錄名) 

        LDAP(以及X.500)用uid表示“User ID",不要把它和UNIX的uid號(hào)混淆了。大多數(shù)公司都會(huì)給每一個(gè)員工唯一的登錄名,因此用這個(gè)辦法可以很好地保存員工的信息。你不用擔(dān)心以后還會(huì)有一個(gè)叫Fran Smith的加入公司,如果Fran改變了她的名字(結(jié)婚?離婚?或宗教原因?),也用不著改變LDAP記錄項(xiàng)的DN。 

        cn=Fran Smith,ou=employees,dc=foobar,dc=com 

    (基于姓名) 

        可以看到這種格式使用了Common Name(CN)。可以把Common Name當(dāng)成一個(gè)人的全名。這種格式有一個(gè)很明顯的缺點(diǎn)就是:如果名字改變了,LDAP的記錄就要從一個(gè)DN轉(zhuǎn)移到另一個(gè)DN。但是,我們應(yīng)該盡可能地避免改變一個(gè)記錄項(xiàng)的DN。 

      定制目錄的對(duì)象類型 

    你可以用LDAP存儲(chǔ)各種類型的數(shù)據(jù)對(duì)象,只要這些對(duì)象可以用屬性來表示,下面這些是可以在LDAP中存儲(chǔ)的一些信息: 

        l 員工信息:?jiǎn)T工的姓名、登錄名、口令、員工號(hào)、他的經(jīng)理的登錄名,郵件服務(wù)器,等等。 

         l 物品跟蹤信息:計(jì)算機(jī)名、IP地址、標(biāo)簽、型號(hào)、所在位置,等等。 

         l 客戶聯(lián)系列表:客戶的公司名、主要聯(lián)系人的電話、傳真和電子郵件,等等。 

         l 會(huì)議廳信息:會(huì)議廳的名字、位置、可以坐多少人、電話號(hào)碼、是否有投影機(jī)。 

         l 食譜信息:菜的名字、配料、烹調(diào)方法以及準(zhǔn)備方法。 

    因?yàn)長(zhǎng)DAP目錄可以定制成存儲(chǔ)任何文本或二進(jìn)制數(shù)據(jù),到底存什么要由你自己決定。LDAP目錄用對(duì)象類型(object classes)的概念來定義運(yùn)行哪一類的對(duì)象使用什么屬性。在幾乎所有的LDAP服務(wù)器中,你都要根據(jù)自己的需要擴(kuò)展基本的LDAP目錄的功能,創(chuàng)建新的對(duì)象類型或者擴(kuò)展現(xiàn)存的對(duì)象類型。 

    LDAP目錄以一系列“屬性對(duì)”的形式來存儲(chǔ)記錄項(xiàng),每一個(gè)記錄項(xiàng)包括屬性類型和屬性值(這與關(guān)系型數(shù)據(jù)庫用行和列來存取數(shù)據(jù)有根本的不同)。下面是我存在LDAP目錄中的一部分食譜記錄: 

    dn: cn=Oatmeal Deluxe, ou=recipes, dc=foobar, dc=com 

    cn: Instant Oatmeal Deluxe 

    recipeCuisine: breakfast 

    recipeIngredient: 1 packet instant oatmeal 

    recipeIngredient: 1 cup water 

    recipeIngredient: 1 pinch salt 

    recipeIngredient: 1 tsp brown sugar 

    recipeIngredient: 1/4 apple, any type 

    請(qǐng)注意上面每一種配料都作為屬性recipeIngredient值。LDAP目錄被設(shè)計(jì)成象上面那樣為一個(gè)屬性保存多個(gè)值的,而不是在每一個(gè)屬性的后面用逗號(hào)把一系列值分開。 

         因?yàn)橛眠@樣的方式存儲(chǔ)數(shù)據(jù),所以數(shù)據(jù)庫就有很大的靈活性,不必為加入一些新的數(shù)據(jù)就重新創(chuàng)建表和索引。更重要的是,LDAP目錄不必花費(fèi)內(nèi)存或硬盤空間處理“空”域,也就是說,實(shí)際上不使用可選擇的域也不會(huì)花費(fèi)你任何資源。 

      作為例子的一個(gè)單獨(dú)的數(shù)據(jù)項(xiàng) 

    讓我們看看下面這個(gè)例子。我們用Foobar, Inc.的員工Fran Smith的LDAP記錄。這個(gè)記錄項(xiàng)的格式是LDIF,用來導(dǎo)入和導(dǎo)出LDAP目錄的記錄項(xiàng)。 

    dn: uid=fsmith, ou=employees, dc=foobar, dc=com 

    objectclass: person 

    objectclass: organizationalPerson 

    objectclass: inetOrgPerson 

    objectclass: foobarPerson 

    uid: fsmith 

    givenname: Fran 

    sn: Smith 

    cn: Fran Smith 

    cn: Frances Smith 

    telephonenumber: 510-555-1234 

    roomnumber: 122G 

    o: Foobar, Inc. 

    mailRoutingAddress: fsmith@foobar.com 

    mailhost: mail.foobar.com 

    userpassword: {crypt}3x1231v76T89N 

    uidnumber: 1234 

    gidnumber: 1200 

    homedirectory: /home/fsmith 

    loginshell: /usr/local/bin/bash 

    屬性的值在保存的時(shí)候是保留大小寫的,但是在默認(rèn)情況下搜索的時(shí)候是不區(qū)分大小寫的。某些特殊的屬性(例如,password)在搜索的時(shí)候需要區(qū)分大小寫。 

    讓我們一點(diǎn)一點(diǎn)地分析上面的記錄項(xiàng)。 

        dn: uid=fsmith, ou=employees, dc=foobar, dc=com 

    這是Fran的LDAP記錄項(xiàng)的完整DN,包括在目錄樹中的完整路徑。LDAP(和X.500)使用uid(User ID),不要把它和UNIX的uid號(hào)混淆了。 

    objectclass: person 

    objectclass: organizationalPerson 

    objectclass: inetOrgPerson 

    objectclass: foobarPerson 

        可以為任何一個(gè)對(duì)象根據(jù)需要分配多個(gè)對(duì)象類型。person對(duì)象類型要求cn(common name)和sn(surname)這兩個(gè)域不能為空。persion對(duì)象類型允許有其它的可選域,包括givenname、telephonenumber,等等。organizational Person給person加入更多的可選域,inetOrgPerson又加入更多的可選域(包括電子郵件信息)。最后,foobarPerson是為Foobar定制的對(duì)象類型,加入了很多定制的屬性。 

    uid: fsmith 

    givenname: Fran 

    sn: Smith 

    cn: Fran Smith 

    cn: Frances Smith 

    telephonenumber: 510-555-1234 

    roomnumber: 122G 

    o: Foobar, Inc. 

    以前說過了,uid表示User ID。當(dāng)看到uid的時(shí)候,就在腦袋里想一想“login"。 

        請(qǐng)注意CN有多個(gè)值。就象上面介紹的,LDAP允許某些屬性有多個(gè)值。為什么允許有多個(gè)值呢?假定你在用公司的LDAP服務(wù)器查找Fran的電話號(hào)碼。你可能只知道她的名字叫Fran,但是對(duì)人力資源處的人來說她的正式名字叫做Frances。因?yàn)楸4媪怂膬蓚€(gè)名字,所以用任何一個(gè)名字檢索都可以找到Fran的電話號(hào)碼、電子郵件和辦公房間號(hào),等等。 

    mailRoutingAddress: fsmith@foobar.com 

    mailhost: mail.foobar.com 

    就象現(xiàn)在大多數(shù)的公司都上網(wǎng)了,F(xiàn)oobar用Sendmail發(fā)送郵件和處理外部郵件路由信息。Foobar把所有用戶的郵件信息都存在LDAP中。最新版本的Sendmail支持這項(xiàng)功能。 

    Userpassword: {crypt}3x1231v76T89N 

    uidnumber: 1234 

    gidnumber: 1200 

    gecos: Frances Smith 

    homedirectory: /home/fsmith 

    loginshell: /usr/local/bin/bash 

        注意,F(xiàn)oobar的系統(tǒng)管理員把所有用戶的口令映射信息也都存在LDAP中。FoobarPerson類型的對(duì)象具有這種能力。再注意一下,用戶口令是用UNIX的口令加密格式存儲(chǔ)的。UNIX的uid在這里為uidnumber。提醒你一下,關(guān)于如何在LDAP中保存NIS信息,有完整的一份RFC。在以后的文章中我會(huì)談一談NIS的集成。 

    LDAP復(fù)制 

        LDAP服務(wù)器可以使用基于“推”或者“拉”的技術(shù),用簡(jiǎn)單或基于安全證書的安全驗(yàn)證,復(fù)制一部分或者所有的數(shù)據(jù)。 

        例如,F(xiàn)oobar有一個(gè)“公用的”LDAP服務(wù)器,地址為ldap.foobar.com,端口為389。Netscape Communicator的電子郵件查詢功能、UNIX的“ph"命令要用到這個(gè)服務(wù)器,用戶也可以在任何地方查詢這個(gè)服務(wù)器上的員工和客戶聯(lián)系信息。公司的主LDAP服務(wù)器運(yùn)行在相同的計(jì)算機(jī)上,不過端口號(hào)是1389。 

        你可能即不想讓員工查詢資產(chǎn)管理或食譜的信息,又不想讓信息技術(shù)人員看到整個(gè)公司的LDAP目錄。為了解決這個(gè)問題,F(xiàn)oobar有選擇地把子目錄樹從主LDAP服務(wù)器復(fù)制到“公用”LDAP服務(wù)器上,不復(fù)制需要隱藏的信息。為了保持?jǐn)?shù)據(jù)始終是最新的,主目錄服務(wù)器被設(shè)置成即時(shí)“推”同步。這些種方法主要是為了方便,而不是安全,因?yàn)槿绻袡?quán)限的用戶想查詢所有的數(shù)據(jù),可以用另一個(gè)LDAP端口。 

        假定Foobar通過從奧克蘭到歐洲的低帶寬數(shù)據(jù)的連接用LDAP管理客戶聯(lián)系信息。可以建立從ldap.foobar.com:1389到munich-ldap.foobar.com:389的數(shù)據(jù)復(fù)制,象下面這樣: 

    periodic pull: ou=asia,ou=customers,o=sendmail.com 

    periodic pull: ou=us,ou=customers,o=sendmail.com 

    immediate push: ou=europe,ou=customers,o=sendmail.com 

    “拉”連接每15分鐘同步一次,在上面假定的情況下足夠了。“推”連接保證任何歐洲的聯(lián)系信息發(fā)生了變化就 
    立即被“推”到Munich。 
    用上面的復(fù)制模式,用戶為了訪問數(shù)據(jù)需要連接到哪一臺(tái)服務(wù)器呢?在Munich的用戶可以簡(jiǎn)單地連接到本地服務(wù) 
    器。如果他們改變了數(shù)據(jù),本地的LDAP服務(wù)器就會(huì)把這些變化傳到主LDAP服務(wù)器。然后,主LDAP服務(wù)器把這些變化 
    “推”回本地的“公用”LDAP服務(wù)器保持?jǐn)?shù)據(jù)的同步。這對(duì)本地的用戶有很大的好處,因?yàn)樗械牟樵儯ù蠖鄶?shù)是讀)都在本地的服務(wù)器上進(jìn)行,速度非常快。當(dāng)需要改變信息的時(shí)候,最終用戶不需要重新配置客戶端的軟件,因?yàn)長(zhǎng)DAP目錄服務(wù)器為他們完成了所有的數(shù)據(jù)交換工作。
    posted on 2009-09-03 21:29 渠上月 閱讀(415) 評(píng)論(1)  編輯  收藏

    評(píng)論

    # re: LDAP 2010-12-28 13:42 渠上月
    1.以下是網(wǎng)上摘來的關(guān)于LDAP的一段介紹:

    LDAP的英文全稱是Lightweight Directory Access Protocol,一般都簡(jiǎn)稱為L(zhǎng)DAP。它是基于X.500標(biāo)準(zhǔn)的,但是簡(jiǎn)單多了并且可以根據(jù)需要定制。與X.500不同,LDAP支持TCP/IP, 這對(duì)訪問Internet是必須的。LDAP的核心規(guī)范在RFC中都有定義,所有與LDAP相關(guān)的RFC都可以在LDAPman RFC網(wǎng)頁中找到。現(xiàn)在LDAP技術(shù)不僅發(fā)展得很快而且也是激動(dòng)人心的。在企業(yè)范圍內(nèi)實(shí)現(xiàn)LDAP可以讓運(yùn)行在幾乎所有計(jì)算機(jī)平臺(tái)上的所有的應(yīng)用程序從 LDAP目錄中獲取信息。LDAP目錄中可以存儲(chǔ)各種類型的數(shù)據(jù):電子郵件地址、郵件路由信息、人力資源數(shù)據(jù)、公用密匙、聯(lián)系人列表,等等。通過把 LDAP目錄作為系統(tǒng)集成中的一個(gè)重要環(huán)節(jié),可以簡(jiǎn)化員工在企業(yè)內(nèi)部查詢信息的步驟,甚至連主要的數(shù)據(jù)源都可以放在任何地方。

    http://www.infosecurity.org.cn/article/pki/ldap/23482.html

    2.以下是網(wǎng)上摘來的關(guān)于AD的一段介紹:

    Active Directory (中國(guó)大陸譯名為“活動(dòng)目錄”,臺(tái)灣則是維持英文不譯)是微軟 Windows Server 中,負(fù)責(zé)架構(gòu)中大型網(wǎng)路 環(huán)境的集中式目錄管理服務(wù)(Directory Services),在Windows 2000 Server 開 始內(nèi)建于Windows Server產(chǎn)品中,它處理了在組織中的網(wǎng)路物件,物件可以是使用者,群組,電腦,網(wǎng)域控制站,郵件,設(shè)定檔,組織單元,樹系等等,只要是在Active Directory結(jié)構(gòu)定義檔(schema)中定義的物件,就可以儲(chǔ)存在Active Directory資料檔中,并利用Active Directory Service Interface 來存取,實(shí)際上,許多Active Directory的管理工具都是利用這個(gè)介面來呼叫并使用Active Directory的資料。

    Active Directory也被做為微軟部份伺服器 軟體 與網(wǎng)域 構(gòu)連的資料結(jié)構(gòu),例如Microsoft Exchange Server 2003-2007 ,均使用 AD 來儲(chǔ)存其個(gè)人信箱 資料(透過建立新的Active Directory Schema),并將 AD 列為建置Exchange Server的必要條件。

    Active Directory最早在1996年 出現(xiàn),并在Windows 2000中首次問世,研發(fā)代碼為Cascade ,并歷經(jīng)Windows 2000, Windows Server 2003 的演化,目前 AD 已成為成熟的目錄服務(wù)元件,在 Windows Server 2008 中,AD 更擴(kuò)充其角色至五種服務(wù)(包含憑證、聯(lián)邦、權(quán)限控管與輕量級(jí)服務(wù)等)。

    http://zh.wikipedia.org/w/index.php?title=Active_Directory&variant=zh-hans



    本文來自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/wyfde123/archive/2010/12/10/6068179.aspx  回復(fù)  更多評(píng)論
      


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲成A人片在线观看WWW| 亚洲宅男天堂a在线| 99蜜桃在线观看免费视频网站| 亚洲黄色在线网站| 永久免费毛片手机版在线看| 一区二区三区免费电影| 亚洲狠狠ady亚洲精品大秀| 四虎国产精品免费视| 久操视频免费观看| 校园亚洲春色另类小说合集| 亚洲大片在线观看| 日韩免费在线观看| 亚洲午夜免费视频| 在线观看亚洲电影| 亚洲国产精品午夜电影| 国产成人毛片亚洲精品| 成年女人午夜毛片免费视频| 全黄大全大色全免费大片| 亚洲乱亚洲乱妇无码| 亚洲三级电影网址| 美女裸身网站免费看免费网站| 激情小说亚洲色图| 亚洲嫩草影院久久精品| 亚洲国产精品自在拍在线播放 | 国产亚洲精品影视在线产品| 100部毛片免费全部播放完整| 久久久久久亚洲精品无码| 久久精品亚洲视频| 国产一级大片免费看| 8x8×在线永久免费视频| 处破女第一次亚洲18分钟| 亚洲一本综合久久| 午夜国产大片免费观看| 91香蕉在线观看免费高清| 亚洲一区在线观看视频| 亚洲自偷自偷图片| 日日操夜夜操免费视频 | 香蕉高清免费永久在线视频| 免费国产污网站在线观看| 久久亚洲色WWW成人欧美| 亚洲一区在线免费观看|