当前位置:主页
> 资源下载 > 50 > 基于鉴别字段(共享模式)的多租户应用程序演示,采用Spring Boot和Hibernate 5技术实现,项目名为multi-tenant-app-demo
-
基于鉴别字段(共享模式)的多租户应用程序演示,采用Spring Boot和Hibernate 5技术实现,项目名为multi-tenant-app-demo
资源介绍
自述文件
示例应用程序使用Spring Boot和Hibernate演示基于鉴别符字段的多租户。
由于Hibernate(5.x)在支持基于“歧视者”的多租户策略时存在一些问题(请参阅下面的链接)。 下面的解决方法将有助于实现相同的目的。
方法:
使用Hibernate过滤器限制基于租户的查询结果。
在创建/更新实体期间使用Hibernate拦截器强制执行租户详细信息。
使用Spring AOP(AspectJ)设置过滤器参数。
说明:
每个请求都经过一个自定义的servlet过滤器,该过滤器检查X-TenantID http标头,并使用TenantContext类在ThreadLocal变量中对其进行TenantContext 。 如果请求中不存在http标头,则它将被拒绝。
控制器将请求路由到Service类,Spring AOP( UserServiceAspect类)拦截服务调用并设置Hibernate租户过滤器。
必须使用@Transactional注释所有服务方法, UserServiceAspect才能正常工作。
上面的方法仅适用于读取查询,对于写入查