每个财产授权的实体

时间:2012-07-05 18:23:50

标签: c# sql sharepoint authentication properties

我有一个ListItem(Sharepoint),但我们可以把它想象成一个简单的类/实体。现在这个实体有一个属性名称Status和其他属性。

我需要实现每个属性/角色/状态授权。

实施例: 角色 =经理,字段 = RequestName,状态 = 01 权限:阅读,更新

角色 =经理,字段 = RequestName,状态 = 05 权限:阅读

正如您所看到的授权我基本上基于3个变量:角色,状态,属性

现在,我需要在UI中根据用户可以看到或编辑它来禁用/隐藏某些控件。这可以通过几个sql表和一些连接轻松完成。

鉴于该实体可能有30-100个属性,我需要知道何时在UI中禁用/隐藏控件。

您认为这是最好的方法:

  1. 查询数据库30次,找出用户是否可以阅读 某些财产

  2. 为给定角色和状态的所有字段加载权限,循环进入 集合上的内存并获取当前字段权限。

  3. 我对性能/内存平衡感兴趣。我也打开其他授权算法,给出3个变量(角色/状态/属性)决定权限。

    谢谢

1 个答案:

答案 0 :(得分:0)

将100个小对象保存在简单的内存列表中非常简单快捷。如果属性名称是唯一的,则可以使用索引集合,这甚至更快。

如果它们没有经常更新,则没有理由查询数据库。