2011-10-20 58 views
0

可能重複:
What's the difference in using distinguished name with cn or uid when logging into LDAP?通配符在LDAP連接

我試圖欺騙在用戶的應用程序分成記錄。我沒有試圖破解任何東西,我們購買了一個試圖連接一些嚴格設置的應用程序。我試圖讓它工作。

基本上我必須定義搜索庫:

ou=employees,ou=Main,o=mycompany 

如果我嘗試登錄爲JohnSmith對,它預設prends作爲用戶名UID像這樣的搜索基礎:

uid=johnsmith,ou=employees,ou=Main,o=mycompany 

事實證明,Novell eDirectory使用cn作爲可分辨名稱(不是uid)。

有什麼辦法可以欺騙應用程序使用通配符?我希望這樣的事情可能工作:

uid=*,cn=johnsmith,ou=employees,ou=Main,o=mycompany 

但這不起作用。^

+0

我認爲引用問題的區別在於,這個問題有一個關於如何解決它的具體問題? – geoffc

回答

2

答案是否定的。的搜索請求需要以下參數:

  • 基礎對象
  • 範圍(子樹中,一個,或鹼)
  • 濾波器屬性以檢索(可選)
  • 時限的
  • 列表(可選)
  • 大小限制(可選)
  • 控制(可選)僅
  • 類型(可選al)

服務器通過創建從base object開始的候選條目列表來處理請求。如果scopesubtree,從屬於base object所有條目可能是候選人,如果scopeone,只有條目直接從屬於base object被視爲候選人,否則scopebase和候選僅僅是base object。該篩選器用於過濾候選項,即僅將filter聲明評估爲true的候選項返回給LDAP客戶端。如果屬性列表爲空,則返回除操作屬性外的所有屬性。如果屬性列表包含@objectClassName,則返回該條目中存在的所有或指定objectClass中允許的屬性。如果屬性列表是"1.1",則只有條目的可分辨名稱纔會返回給LDAP客戶端("1.1"是無屬性可匹配的OID),如果屬性列表爲"+",則所有操作屬性均返回給客戶端,否則返回給客戶端請求的屬性將返回給LDAP客戶端。只有按名稱明確請求時,符合LDAP的服務器纔會返回操作屬性。 time limit是可選的客戶端請求的服務器應處理請求的時間限制。 size limit是可選的客戶端請求的服務器應返回到LDAP客戶端的條目數的限制。客戶請求的參數不能覆蓋服務器設置。 Controls是包含在搜索請求中的可選數據片段。有關搜索請求的更多信息,請參閱「Using ldapsearch」。

2

您的陳述「事實證明Novell eDirectory使用cn作爲可分辨名稱(不是uid)」。本身並不正確。

默認情況下,它使用屬性CN作爲命名屬性。您可以在eDirectory中創建其命名屬性爲uid =的對象,但它不是默認值。

您可以通過LDIF將每個人都重命名爲modrdn,即uid =他們當前的CN值。

我最初打算建議您將uid屬性重新映射爲LDAP服務器屬性映射中的CN值。但一想到我不確定這是否會有所幫助。

由於您的應用沒有搜索uid =某個值的用戶,而是正在基於假設構建DN。

但你可以嘗試,看看是否有幫助:

在您的LDAP服務器對象,(你應該使用iManager做出這種改變,ConsoleOne的snapins不再更新和支持)有指定的選項LDAP屬性映射。

只需將eDirectory CN映射到LDAP uid即可。

另外,您是否知道如何在eDirectory服務器端使用DStrace來通過LDAP查詢來查看事件?

(eDir serverIP:8008代表Netware,8028代表Linux或Windows/nds,然後跟蹤配置,全部清除,啓用LDAP)。