java 如何用micronaut实现基于模式的多租户

mec1mxoz  于 2023-06-04  发布在  Java
关注(0)|答案(1)|浏览(171)

我开始构建一个新的网络应用程序,它目前有一个AuthenticationProvider,它检查用户和密码是否匹配数据库表中的内容。会议的基础。
目前micronaut似乎只是使用公共模式(我使用postgres)。
我尝试在application.yml中启用子域租户解析器:

data:
    multi-tenancy:
      mode: SCHEMA
      tenantresolver:
        subdomain:
          enabled: true

但我看不出它有什么作用。如果我访问subdomain.localhost来测试它,会话cookie似乎与该子域绑定,但来自公共模式的任何用户都可以对其进行身份验证。我假设我的AuthenticationProvider需要以某种方式成为租户感知?
如果我有另一个租户注册,在注册时没有经过身份验证,那么在他们进行身份验证之前,如何使用micronaut数据为他们填充模式?谢谢

xytpbqjk

xytpbqjk1#

为了帮助其他人,我有两个问题:

  • Nginx在micronaut的前面,需要proxy_set_header Host $host;设置,否则它会从host.docker.internal中获取子域,这始终是一致的,而不是从abc.myhost.comxyz.myhost.com等。
  • application.yml中的tenantresolver应该在多租户下,它与数据位于同一级别。

相关问题