[英]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進行配置。
我讀過的一個圖書館是Rhino Security 。 它似乎處理身份驗證以及業務操作的授權,可能值得一看。 我實際上並沒有實現它,所以我不知道它有多好用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.