[英]C#: Security / user rights for an application suite, ldap suitable?
我们正在为客户端开发一套Windows应用程序,并且需要添加安全模块。 基本需求非常简单:
返回权限列表的函数:
string[] AllowedApplications = Security.GetList("Applications");
string[] AllowedMenusAndButtons = Security.GetList("Functions");
//In General:
string[] AllowedObjects = Security.GetList(<ObjectType>);
使用允许的应用程序,我们确定当前用户是否可以启动该应用程序,而AllowedMenusAndButtons我们确定启用哪些按钮/菜单。 AllowedObjects将用于对象的行级安全性。
对于权限的管理,我们只需要一个简单的GUI,即可将用户分组在一起,并将权限分配给用户或组。
LDAP是否适合这些要求,否则开销太大。 有没有其他可以使用的框架,还是我们自己开发更好?
在很大程度上取决于您拥有多少用户,除了权限管理之外,您还预见到以后可能需要管理更多此类属性吗?
如果您没有大量用户,则可以使用简单的XML,并且可以使用XPATH查询轻松地对XML进行操作。 对于大量用户,LDAP听起来很可行。
顺便说一句,我很好奇是否要使用AllowedMenusAndButtons来“分发”对特定用户有效的菜单? 如果是这样,我希望您将在服务器级别上对那些菜单执行授权。 常见的安全错误是仅显示适用的菜单,并将其视为授权。 我不确定AllowedObjects是否是服务器级别的授权,如果是,那么一切都很好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.