1. LDAP簡介
LDAP(輕量級目錄通路協定,Light weight DirectoryAccess Protocol)是實作提供被稱為目錄服務的資訊服務。目錄服務是一種特殊的資料庫系統,其專門針對讀取,浏覽和搜尋操作進行了特定的優化。目錄一般用來包含描述性的,基于屬性的資訊并支援精細複雜的過濾能力。目錄一般不支援通用資料庫針對大量更新操作操作需要的複雜的事務管理或回卷政策。而目錄服務的更新則一般都非常簡單。這種目錄可以存儲包括個人資訊、web鍊結、jpeg圖像等各種資訊。為了通路存儲在目錄中的資訊,就需要使用運作在TCP/IP 之上的通路協定—LDAP。
LDAP目錄中的資訊是是按照樹型結構組織,具體資訊存儲在條目(entry)的資料結構中。條目相當于關系資料庫中表的記錄;條目是具有差別名DN (Distinguished Name)的屬性(Attribute),DN是用來引用條目的,DN相當于關系資料庫表中的關鍵字(Primary Key)。屬性由類型(Type)和一個或多個值(Values)組成,相當于關系資料庫中的字段(Field)由字段名和資料類型組成,隻是為了友善檢索的需要,LDAP中的Type可以有多個Value,而不是關系資料庫中為降低資料的備援性要求實作的各個域必須是不相關的。LDAP中條目的組織一般按照地理位置群組織關系進行組織,非常的直覺。LDAP把資料存放在檔案中,為提高效率可以使用基于索引的檔案資料庫,而不是關系資料庫。類型的一個例子就是mail,其值将是一個電子郵件位址。
LDAP的資訊是以樹型結構存儲的,在樹根一般定義國家(c=CN)或域名(dc=com),在其下則往往定義一個或多個組織 (organization)(o=Acme)或組織單元(organizational units)(ou=People)。一個組織單元可能包含諸如所有雇員、大樓内的所有列印機等資訊。此外,LDAP支援對條目能夠和必須支援哪些屬性進行控制,這是有一個特殊的稱為對象類别(objectClass)的屬性來實作的。該屬性的值決定了該條目必須遵循的一些規則,其規定了該條目能夠及至少應該包含哪些屬性。例如:inetorgPerson對象類需要支援sn(surname)和cn(common name)屬性,但也可以包含可選的如郵件,電話号碼等屬性。
1.1. LDAP對應簡稱
l organization(組織-公司)
l ou – organization unit(組織單元-部門)
l c - countryName(國家)
l dc - domainComponent(域名)
l sn – suer name(真實名稱)
l cn - common name(常用名稱)
1.2. Open LDAP的配置
1. 連接配接資訊
預設安裝的Open LDAP連接配接資訊如下:
端口号:389
Base:dc=maxcrc,dc=com
管理者使用者名:cn=Manager,dc=maxcrc,dc=com
密碼:secret
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM0EjMzQDMzEjNwYDMzEDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
使用者可以修改Open LDAP安裝目錄下的slapd.conf檔案對Base和Account資訊進行修改:
database bdb
suffix "dc=maxcrc,dc=com"
rootdn "cn=Manager,dc=maxcrc,dc=com"
2. 目錄資訊
通過LDAP Admin用戶端,如下圖建立使用者目錄群組目錄。
建立了四個使用者(ckickens,jcooper,jestein,wfaulk),兩個使用者組(Administrators,SalesQuoteLab)。組與使用者的關系如下圖所示:
Administrators組:
l SalesQuoteLab組:
2. WebLogic配置
以下将Open LDAP配置到WebLogic的域安全領域當中。
1. 進入weblogic console後,點選“安全領域”,再點選“myrealm”
2. 選擇“提供程式”标簽頁,在“驗證”标簽頁中,點選“建立”按鈕
3. 在“提供程式”頁面中填寫驗證提供程式的名稱和選擇類型,這裡類型選擇“OpenLDAPAuthenticator”,并點選“确定”
4. 點選清單中建立的驗證提供程式
5. 選擇提供特定程式标簽頁,填寫Open LDAP伺服器資訊
要填寫的資訊包括:
l 主機:LDAP伺服器的伺服器名或IP
l 端口:LDAP伺服器端口号,這裡預設389
l 主使用者:cn=Manager,dc=maxcrc,dc=com
l 身份證明/确認身份證明:secret
l 使用者基本DN:ou=SalesQuoteLab,ou=Lab,dc=maxcrc,dc=com(本測試用例中,所有的LDAP使用者都建立在ou=SalesQuoteLab,ou=Lab,dc=maxcrc,dc=com之下)
l 選中“将檢索到的使用者名用作主使用者”
l 組基本DN:o=Group,dc=maxcrc,dc=com(本測試用例中,所有的LDAP組都建立在o=Group,dc=maxcrc,dc=com)
填寫完畢,點選“确定”按鈕。
6. 選擇“共用”标簽,将“控制标記”選擇為“SUFFICIENT”,點選“儲存”
7. 重新回到“提供程式”頁面,點選“重新排序”
8. 将新增加的Open LDAP驗證程式移動到清單的最頂端,并點選“确定”
9. 重新回到“提供程式”頁面,在清單中選擇預設提供程式“DefaultAuthenticator”,修改控制标記為“SUFFICIENT”,并點選“儲存”
如果不進行該操作,則Open LDAP使用者無法登入Workspace和Composer,但是可以登入WebLogic Console。
10. 重新啟動WebLogic Domain,并重新登入WebLogic Console,能夠在安全領域->myrealm->使用者群組頁面看到Open LDAP導入的使用者資訊
3. BPM應用Open LDAP使用者
通過上述設定,就可以用Open LDAP使用者進行BPM Workspace和Process Composer的操作了。
需要注意的是,因為在從管理頁面的角色設定中,我們可以看到BPMProcessAdmin所關聯的成員為Administrators。
是以,隻有在Open LDAP中屬于Administrators使用者組的使用者才能夠在Workspace中進行管理頁面的操作,非Administrators組使用者沒有該頁面的權限。
jcooper使用者屬于Administrators使用者組:
jstein使用者不屬于Administrators使用者組:
另外,在設定了Open LDAP驗證提供程式之後,原有WebLogic預設的驗證提供程式使用者将無法登入Workspace和Composer,在Workspace的管理界面的角色設定中,也隻能查到Open LDAP驗證提供程式的使用者。