2016-04-29 74 views
0

我想開發一個基於用戶,部門的通用認證/授權庫,其中每個部門都有權利聲明並且用戶可以擁有角色等等。在網絡上進行了這麼多的思考和搜索後,我認爲最合適的方式(基於我的場景)是開發類似LDAP的結構。這樣,我甚至可以開發與Active Directory/OpenLDAP的集成。從here是否有一個庫爲C#提供類似LDAP的對象結構?

採取

LDAP Structure 圖片讓我自己的圖書館之前,我想知道:是那裏已經提供針對該結構(這樣我可以繼承和自定義)對象庫?我知道我們有來自.NET Framework的System.DirectoryServices以及來自Mono的相應庫,但我無法找到「Entry」類的位置。我知道有一個Novell製作的LDAP也是針對LDAP的,但我認爲互聯網上有很多過時的關於這個的。

編輯

我發現DirectoryEntry class來接近,但我無法驗證其是否符合單。

+1

System.DirectoryServices命名空間(DirectoryEntry是其一部分)是[以單聲道實現的](https://github.com/mono/mono/tree/master/mcs/class/System.DirectoryServices)。 –

回答

1

正如您可能已經發現的那樣,跨多個提供者有許多不同的LDAP協議實現,因此找到一個適合所有人的庫幾乎是不可能的。

但是,您正確的是假設許多相同的概念(組,域,單個條目等)將適用,無論您正在使用哪個提供程序,甚至連接到給定的過程目錄服務器,應用基於LDAP syntax的篩選器,然後處理返回的結果是非常常見的。

因此,即使該庫不存在,您當然可以圍繞您的所有特定實現從中繼承的通用概念構建一個接口。

從更技術的角度來看,你會驚奇地發現DirectoryEntry如何便攜式是 - 我用它與System.DirectoryServices.Protocols一些基本的結構以及連接並綁定到Active Directory,的iPlanet,和OpenDJ,它奇妙的作品。

您還提到了Novell--爲此,我使用了他們的.Net庫Novell.Directory.Ldap,其中you can find here。您會注意到「入口」的概念也可以在此處找到,包含在LdapEntry課程中。

+0

我希望我可以upvote超過1倍的答案。它肯定會在我的旅程中幫助我。謝謝! –

相關問題