我正在使用C#(.NET 4.0)中的Windows應用程序,並且需要某些內容來實現一些基本的ACL規則,或者更具體地說,應用基於用戶類型的某些配置。C#Windows應用程序中的基於許可證的配置
該應用程序具有許可證密鑰,我們可以使用這些許可證密鑰來確定用戶類型(即用戶,安裝人員,工程師)以及其他信息。
根據用戶的類型,某些功能,菜單,按鈕和顯示數據將有所不同。我可以在應用程序中根據用戶類型硬編碼顯示和隱藏這些元素,但是我們有一個權限矩陣來定義權限,因此我想創建一個ACL,以便我們可以輕鬆地將矩陣審覈到應用程序代碼。
我已經環顧四周,但System.Security命名空間中的很多ACL和安全代碼似乎都是針對Windows和文件系統ACL製作的。
有人可以推薦任何現有的類(最好是免費的),在C#中實現簡單的ACL。
我只需要能夠做這樣的事情:
ACL acl = new ACL();
acl.addRole("User");
acl.addRole("Manufacturer");
acl.addResource("SpecialButton");
acl.deny("SpecialButton");
acl.allow("SpecialButton", "Manufacturer");
// so later in my app I can do
theUserType = "Manufacturer";
// ...
if (acl.isAllowed(theUserType, "SpecialButton")) {
SpecialButton.Visible = true;
}
我不希望嘗試在運行時使用代碼篡改停止的人,如果他們想走出自己的路來那麼他們可以做到這一點,但我想要一種簡單的方法來創建和查詢ACL,以確定GUI的外觀以及在基於密鑰加載程序時可用的選項。
很容易創建這個,但如果已經完成,那就更好了。
我會避免術語ACL相對於這個,因爲它是不同的(與System.Security東西重疊)。您正在考慮的是基於許可證的配置。 – Deleted