Design patterns 对象上的CRUD级别锁定-设计模式

Design patterns 对象上的CRUD级别锁定-设计模式,design-patterns,crud,acl,Design Patterns,Crud,Acl,您知道在对象上实现CRUD级别锁定的设计模式吗?这意味着,对于对象的一个实例,我应该能够为每个操作(创建、读取、更新、删除)指定不同的访问控制级别。例如,人员A可以读取和更新对象Z,但不能将其删除。人员B可以读取、更新和删除对象X、Y和Z 我关心的是当存在大量数据时会发生什么。换句话说,我在寻找一些高效的东西 我曾经为对象实现过这种访问控制,我知道如何实现,我只是想知道是否真的有这样的设计模式。有大量可用的信息。这是一个合理的起点。对于大型数据集,很难使事情变得高效——在运行时将性能最大化意味着

您知道在对象上实现CRUD级别锁定的设计模式吗?这意味着,对于对象的一个实例,我应该能够为每个操作(创建、读取、更新、删除)指定不同的访问控制级别。例如,人员A可以读取和更新对象Z,但不能将其删除。人员B可以读取、更新和删除对象X、Y和Z

我关心的是当存在大量数据时会发生什么。换句话说,我在寻找一些高效的东西


我曾经为对象实现过这种访问控制,我知道如何实现,我只是想知道是否真的有这样的设计模式。

有大量可用的信息。这是一个合理的起点。对于大型数据集,很难使事情变得高效——在运行时将性能最大化意味着在设计过程中花费更多的开发人员时间。遗憾的是,没有银弹


lotusnotes中有一个很好的对象级控制示例,它以您描述的方式提供对对象的细粒度访问。(Notes的卓越性能并不为人所知,但在这样的系统运行时却相当安全。)

有大量可用信息。这是一个合理的起点。对于大型数据集,很难使事情变得高效——在运行时将性能最大化意味着在设计过程中花费更多的开发人员时间。遗憾的是,没有银弹


lotusnotes中有一个很好的对象级控制示例,它以您描述的方式提供对对象的细粒度访问。(Notes的卓越性能并不为人所知,但在此类系统运行时相当安全。)

我将其视为任何“服务”授权的特例

它要求您有某种方式了解调用方的凭据。如果要避免在每个方法上明确地传递此类信息,那么在确定授权时需要一些隐含的“上下文”。在一个人一个人的基础上管理这样的功能往往变得非常不合适,因此您往往需要基于角色的访问控制和将用户组分配给角色的方法

所有这些与其说意味着设计模式,不如说意味着开发框架。Spring和javaee等框架都内置了这样的功能,反过来,它们也可以使用LDAP很好地利用目录


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

我认为这是任何“服务”授权的特殊情况

它要求您有某种方式了解调用方的凭据。如果要避免在每个方法上明确地传递此类信息,那么在确定授权时需要一些隐含的“上下文”。在一个人一个人的基础上管理这样的功能往往变得非常不合适,因此您往往需要基于角色的访问控制和将用户组分配给角色的方法

所有这些与其说意味着设计模式,不如说意味着开发框架。Spring和javaee等框架都内置了这样的功能,反过来,它们也可以使用LDAP很好地利用目录

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