簡體   English   中英

是否有一個C#庫,其行為類似於Active Directory的權限和組?

[英]Is there a C# library that behaves like Active Directory's Permissions and Groups?

我喜歡權限和組在Active Directory中的工作方式,但我不想將我的應用程序與AD綁定。

是否存在包含與AD相同功能的現有庫? 特別是,能夠創建組,將用戶分配到組,添加組的權限,以及查看用戶或組的應用權限?

ActiveDirectoryMembershipProvider類繼承MembershipProvider。

這意味着您不必將應用程序綁定到AD本身,而是綁定到MembershipProvider模型。 此模型在整個.net中使用,適用於內置控件和類。

這是一個例子

//Any of these will work
ActiveDirectoryMembershipProvider provider = new ActiveDirectoryMembershipProvider();
//SqlMembershipProvider provider = new SqlMembershipProvider();
//MyCustomMemebershipProvider provider = new MyCustomMemebershipProvider();

MembershipProvider membershipProvider = provider;

if (membershipProvider.ValidateUser("username", "password"))
{
    MembershipUser user = membershipProvider.GetUser("username", true);
}
else
{
    //Do something
}

我不是這個模型的專家,但是已經有了一些經驗,可以對MembershipProvider進行子類化,並實現IPrincipal,IIdentity等。這樣做非常靈活,可以保持一致的架構

您可以使用授權管理器(AzMan),它是Windows Server的一部分。 要從.NET集成它,Enterprize Library 5具有您可以使用的類庫類型。

您可以設置一個免費的LDAP服務器,例如OpenLDAP ,並使用DirectoryServices來訪問它,以及管理LDAP目錄的任意數量的工具 需要一些配置!

使用標准目錄服務的好處在於過多的管理工具和支持任意數量的應用程序的能力。 缺點是學習管理和查詢目錄。 您是否有任何特殊原因不想使用AD? 如果您正在使用Windows,我強烈建議您使用大多數異議。

如果AD對您來說太重,您可以使用ADAM,它是一個輕型AD,您可以使用后者提供的ADSI Edit進行配置。 這是一個很好的文檔提供,以及關於SO的配置問題

此外,您可以使用相同類型的.NET API(例如System.DirectoryServices.AccountManagement )瀏覽ADAM。

可能是您可以使用Microsoft的AzMan-Authorization Manager作為Active Directory的包裝器。

它包含一個API來編程以請求權限

和gui(azman.msc),您可以在其中定義角色和映射權限並將它們存儲在xml文件中。

它可以針對Active Directory進行配置。

兩件事情。

第一:

如果要與目錄進行交互,則必須在LDAP API之上進行編程。 據我所知,ADSI正在開發頂級LDAP,但它似乎與Active Directory無關。 我知道啟動mono項目的 Novell 在LDAP之上編輯了一個更獨立的C#庫

第二:

權限,我的意思是訪問控制列表(ACL)是一個非標准功能。 在Active Directory中實現權限的方式與在Sun e-Directory中實現權限的方式(特殊屬性)不同。 例如,在OpenLDAP中,權限是在一種訪問過濾器中實現的。

我可能(希望)是錯的,但我從來沒有聽說過一個聯合目錄許可的圖書館。

我讀過的一個圖書館是Rhino Security 它似乎處理身份驗證以及業務操作的授權,可能值得一看。 我實際上並沒有實現它,所以我不知道它有多好用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM