【发布时间】:2021-09-20 09:19:13
【问题描述】:
就像 Jhipster 生成的应用程序具有开箱即用的用户管理一样,我想在 JHipster 中创建一个公司/组织概念,以便每个数据都与它自己的组织/公司相关联
处理它的最佳方法是什么? 以前有人做过吗?
【问题讨论】:
标签: spring-boot hibernate spring-data-jpa jhipster multi-tenant
就像 Jhipster 生成的应用程序具有开箱即用的用户管理一样,我想在 JHipster 中创建一个公司/组织概念,以便每个数据都与它自己的组织/公司相关联
处理它的最佳方法是什么? 以前有人做过吗?
【问题讨论】:
标签: spring-boot hibernate spring-data-jpa jhipster multi-tenant
首先,对于数据库,您应该查看 Hibernate 中的多租户,并准确地查看中描述的鉴别器列方法 https://docs.jboss.org/hibernate/orm/current/userguide/html_single/Hibernate_User_Guide.html#multitenacy 和 https://www.baeldung.com/hibernate-5-multitenancy
然后,对于 REST 层,您应该考虑实现一个 Spring MVC 拦截器来将经过身份验证的用户映射到租户 ID。出于调试目的,您还应该考虑在 logback MDC 中设置租户 id,以便您可以在日志中看到它。
最后,您必须考虑管理部分,管理员应该能够访问所有租户的所有数据。如果不允许管理员这样做,您应该考虑使用每个租户的密钥加密数据。
有一个蓝图,但它不适用于当前的 JHipster 7,团队正在寻找贡献者。但是,您可以从生成的示例中寻找灵感,https://sonalake.com/latest/multi-tenant-applications-with-jhipster/
【讨论】: