2013年5月1日 星期三

整合LDAP的基本概念

LDAP(Lightweight Directory Access Protocol)常被用來做認證服務
本文將對LDAP做一些基本的使用說明


一.當做檔案結構吧


LDAP是一種目錄服務.可以簡單的套用windows檔案樹的概念,
總之就是每一個東西都會有一個位置.
這個位置被稱做DN (Distinguished Name)

DN是由下面三個東西構成的

 CN(Common Name),名稱
 OU(Organization Unit),單位
 DC(Domain Component) 網域

借用參考網站的例子

一個組織可以表示為

            l-penguin.idv.com
              /                 \
          login         company
           /  \               /     \
        user group   unit     customer
        /                /  |  \
      Tom              mis account hr

其中Tom的DN可以表示為

CN=Tom,OU=user,OU=login,DC=l-penguin,DC=idv,DC=com

可以注意到CN只有一個,因為他表示物件本身,可以想成檔名
OU跟DC同時存在多個,但其實是有次序的,次序代表由下往上的層次
所以

Tom的名字可以表示為CN=Tom
Tom的單位可以表示為OU=user,OU=login
Tom所在的網域可以表示為DC=l-penguin,DC=idv,DC=com

這個DN就可以定義Tom在LDAP中的位置
這個DN會是LDAP中的唯一值

二.當做聯絡人卡片吧


LDAP除了定定義了組織結構,
其物件還可以存放很多資訊
這個物件可以想成聯絡人卡片
這些資訊的結構被稱為LDIF(LDAP Data Interchange Format)

借用參考網站的例子
#設定 吳怡君 通訊錄
dn: cn=吳怡君,ou=hr,ou=unit,ou=company,dc=l-penguin,dc=idv,dc=tw
cn: 吳怡君
sn: N/A
objectclass: person
objectclass: inetOrgPerson
givenName: 吳怡君
mail: c293831287@l-penguin.idv.tw
telephoneNumber: 02-29587572
mobile: 0939689593
postalAddress: 台北縣中和市景平路1號
postalCode: 235
ou: 人力資源部
o: l-penguin Corp.
labeledURI: http://www.l-penguin.idv.tw/
title: 辦事員 
dn是這筆資料在LDAP中的位置
如果想要取得其中某一項資訊
必須先知道這項資訊的名稱
程式中的取法會像
getAttribute("mail") 或是 getAttribute("givenName")

所以在做LDAP整合的時候
最重要的就是
1.知道DN (包含結構)
2.資訊的Attribute Name
 
 

參考
http://forum.slime.com.tw/thread79091.html
http://ms.ntcb.edu.tw/~steven/article/ldap-1.htm

沒有留言:

張貼留言

Related Posts Plugin for WordPress, Blogger...