Spring Data MongoDB:如何在CrudRepository中实现多租户

时间:2015-04-01 13:16:48

标签: java spring mongodb spring-data spring-data-mongodb

我设计了我的数据库以支持多租户:每个文档都引用了Tenant

我正在使用Spring Data MongoDB来实现数据访问逻辑,我需要在我的存储库中处理租户的文档检索。

有没有通用的方法来实现它?我是否需要覆盖CrudRepository的每个方法以仅匹配来自某个租户的文档,或者是否有一些设施来实现此目的?

1 个答案:

答案 0 :(得分:0)

我最终决定按照 Markus W Mahlberg 的评论在服务层实施多租户。

在存储库级别,我创建了一个findByTenantIdAndId查询,以检查某个实体/文档id是否属于合适的租户。

我有UserDetails接口的自定义实现,为已登录用户存储tenantId。我通过SecurityContextHolder在服务层检索已登录的用户。