我有一个 ListItem(Sharepoint),但让我们将其视为一个简单的类/实体。现在这个实体有一个属性名称 Status 和其他属性。
我需要实现每个属性/角色/状态授权。
示例: 角色= 经理,字段=RequestName,状态=01 权限:读取、更新
角色= 经理,字段=RequestName,状态=05 权限:读取
如您所见,授权我基本上基于 3 个变量:角色、状态、属性
现在,我需要在 UI 中根据用户可以看到或编辑它的事实来禁用/隐藏一些控件。这可以通过几个 sql 表和一些连接轻松完成。
鉴于实体可能有 30-100 个属性,我需要知道何时禁用/隐藏 UI 中的控件。
您认为最好的方法是什么:
查询数据库 30 次,查看用户是否可以读取某个属性
加载给定角色和状态的所有字段的权限,在内存中循环遍历集合并获取当前字段权限。
我对性能/内存平衡感兴趣。我也对其他授权算法持开放态度,让 3 个变量(角色/状态/属性)决定权限。
谢谢