2009-08-22 73 views
1

你知道任何设计模式实施的对象,这意味着CRUD级锁,对于对象的一个​​实例,我应该能够为每个指定不同的访问控制级别操作(创建,读取,更新,删除)。例如,人员A可以读取和更新对象Z,但不可以将其删除。某乙可以读取,更新和删除对象X,Y和ZCRUD级锁 - 设计模式

我担心的是,当有大量数据会发生什么。换句话说,我正在寻找有效的东西。

我一旦实施这种对对象的访问控制的,我知道如何是可以做到的,我只是想知道如果确实是某种这种设计模式的。

回答

1

有可用的信息一大堆。 This是一个合理的出发点。对于大型数据集,它可以很难把事情效率 - 最大限度地在运行时的性能将意味着在设计过程中花费更多的开发人员的时间。可悲的是,没有银弹。

在Lotus Notes中可以找到一个很好的对象级别控件的示例,它以您描述的方式提供对对象的精细访问。 (注意不是以其出色的表现,但很安全的,因为这样的系统中去。)

0

我认为这是任何“服务”的授权的一个特例。

它要求你必须知道调用方的凭据的某种方式。如果您要避免在每种方法上明确传递此类信息,那么在确定授权时您需要一些隐含的“上下文”。逐人管理这些功能往往变得非常不灵活,所以您往往需要基于角色的访问控制以及将用户组分配到角色的方式。

所有这一切都意味着与其说是设计模式为框架,盘剥。像Spring和Java EE这样的框架内置了这样的功能,它们反过来可能会利用LDAP来利用目录。

所以我的“模式”是不要重新发明轮子,找到一个合适的框架并使用它。