0

我喜欢开发独立于应用程序的“业务”组件。因此,每个组件都是自己的项目,具有非常具体的职责、边界和依赖关系。

示例:书签组件。该组件负责创建、存储、删除和查询书签。

但是有一个重要的限制:每个用户都可以看到自己的书签,但他不能看到任何其他用户的书签。

  • 这让我很困惑。一方面,这是关于横切关注点的访问控制和授权,因为许多组件都需要它们。
  • 另一方面,此约束与书签密切相关。因此,它特定于该组件。也许它就像一个商业规则。

无论如何,我不确定应用程序的哪一部分对此负责。我已经使用 JAAS 实现了身份验证。因此,如果我也可以使用 JAAS 进行访问控制和授权,那就太好了,但我不确定这是否是一个适当的解决方案。

JAAS 教程告诉我,我可以根据谁在运行代码进行授权/访问控制,并且可以为我的应用程序(或本例中的组件)创建权限。另一方面,它部分适用于策略文件,但我不想通过文件授予每个用户访问权限。用户可以访问哪些书签的信息存储在我的数据库中。

  1. JAAS 是否能够解决这种访问控制/授权,如果可以:如何解决?
  2. 有什么模式可以帮助我吗?
4

1 回答 1

1

您应该将每个书签的所有者存储在表中。您应该要求对每个请求进行身份验证。那么您应该只返回经过身份验证的用户拥有的记录。

如果你想让用户互相分享,那就更难了。

于 2013-10-18T02:15:32.490 回答