我设计了我的数据库以支持多租户:每个文档都引用了Tenant
。
我正在使用Spring Data MongoDB来实现数据访问逻辑,我需要在我的存储库中处理租户的文档检索。
有没有通用的方法来实现它?我是否需要覆盖CrudRepository
的每个方法以仅匹配来自某个租户的文档,或者是否有一些设施来实现此目的?
答案 0 :(得分:0)
我最终决定按照 Markus W Mahlberg 的评论在服务层实施多租户。
在存储库级别,我创建了一个findByTenantIdAndId
查询,以检查某个实体/文档id
是否属于合适的租户。
我有UserDetails
接口的自定义实现,为已登录用户存储tenantId
。我通过SecurityContextHolder
在服务层检索已登录的用户。