2012-07-05 76 views
1

实体我有一个列表项(共享点),但允许把它看成是一个简单的类/实体。现在这个实体有一个属性名称Status和其他属性。每财产授权

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

实施例: 角色 =管理器,领域 = RequestName,状态 = 01 权限:读取,更新

角色 =管理器,领域 = RequestName,状态 = 05 权限:读

正如你可以看到authorizatio N I主要基于3个变量:作用,地位,财产

现在,我需要在UI禁用/隐藏基于一个事实,即用户可以看到它,或者编辑一些控制。这可以通过几个sql表和一些连接轻松完成。

鉴于实体可以有30-100属性,我需要知道每当UI禁用/隐藏控制。

你认为这将是最好的办法:

  1. 查询数据库30次,发现如果用户可以读取 一定的属性给定角色的所有领域

  2. 负荷权限和状态,在 内存中循环收集并获得当前字段权限。

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

谢谢

+0

鉴于问题是一个优化问题,那么答案将基于没有任何指标的意见。如果你想对这个问题有一个很好的答案,那么你应该运行这两个解决方案和监控代码,以确定哪种解决方案最好。 – 2012-07-05 18:59:01

回答

0

在一个简单的内存列表保持100个小物件是方便,快捷。如果属性名称是唯一的,则可以使用更快的索引集合。

如果他们没有更新不断没有任何理由来查询数据库。