我正在使用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