1

我有一个 ListItem(Sharepoint),但让我们将其视为一个简单的类/实体。现在这个实体有一个属性名称 Status 和其他属性。

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

示例: 角色= 经理,字段=RequestName,状态=01 权限:读取、更新

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

如您所见,授权我基本上基于 3 个变量:角色、状态、属性

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

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

您认为最好的方法是什么:

  1. 查询数据库 30 次,查看用户是否可以读取某个属性

  2. 加载给定角色和状态的所有字段的权限,在内存中循环遍历集合并获取当前字段权限。

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

谢谢

4

1 回答 1

0

在一个简单的内存列表中保存 100 个小对象既简单又快速。如果属性名称是唯一的,您可以使用索引集合,这样更快。

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

于 2012-07-05T18:34:59.013 回答