語境LDAP:是的memberOf/IsMemberOf屬性可靠確定組成員:SUNONE/ActiveDirectory中/ OpenLDAP的
我們從LDAP服務器導入成員時,到我們的應用程序添加組成員的過濾。 (之前我們從給定的ldap「基本DN」導入所有成員;現在管理員可以限制某些組,即基本DN中的成員「Sales」和「HR」)。
我們的應用支持:
SUNONE
的Active Directory
此外,我們還計劃支持靜態組只,而不是動態組。
我們如何會做
在過去,我們將使用兩個查找複製成員到我們的數據庫這一新功能。
- 查找BaseDN中
- 查找所有成員的所有組(帶部件),其中組名是在列表中(例如「銷售」或「HR」)。用編程方式跟蹤「用戶屬於哪個組」的地圖,即使用「組成員」屬性(SunONE中的「uniqueMember」,ActiveDirectory中的「成員」)
- #1和#2相交結果以獲得'成員進口'
MemberOf/IsMemberOf是否可以減少查詢和邏輯?
在briefish互聯網研究,我發現SUNONE和ActiveDirectory的具有屬性(isMemberOf /的memberOf)識別「基團,該用戶所屬的」
在理論上,我們可以簡化上述邏輯到一個LDAP查詢:
- 查找BaseDN中所有成員是誰的任何組
的memberOf/IsMemberOf能減少查詢的成員和邏輯?
知道的問題: - 的memberOf/isMemberOf只支持靜態組 - 它不支持嵌套組
問題
- 將這種方法使用的memberOf/IsMemberOf工作?
- 有什麼要注意的嗎?
- OpenLDAP或其他服務器呢?他們是否都支持這樣的屬性。(我看到的OpenLDAP有成員 「疊加」,但管理員必須明確啓用它)
參考
的SunOne: http://docs.oracle.com/cd/E19575-01/820-2763/bcajq/index.html
的Active Directory: http://msdn.microsoft.com/en-us/library/ms677943.aspx
相關SO問題: How to write LDAP query to test if user is member of a group?
memberOf vs. groupMembership in LDAP (Liferay)
有關Active Directory或SunONE支持此功能的任何問題? – user331465 2012-03-19 15:49:47
「您可以詢問任何LDAP服務器的根DN,以確定它是否支持該功能。」您可以提供示例查詢嗎? – user331465 2012-03-30 15:10:13
@ user331465只需獲取rootDSE的操作屬性即可。 – EJP 2012-07-07 07:20:45