在尝试将一些数据保存到属于 BootStrap.groovy 中特定租户的数据存储时,我收到以下错误。
org.grails.datastore.mapping.multitenancy.exceptions.TenantNotFoundException:无法在 Web 请求之外解析租户
我正在使用 SessionTenantResolver 作为tenantResolver 类配置application.yml
multiTenancy:
mode: DATABASE
tenantResolverClass: org.grails.datastore.mapping.multitenancy.web.SessionTenantResolver
我已经尝试将租户感知查询包装在里面withId
,如下所示
withId("tenant1") {
User tenant1Admin = new User()
tenant1Admin.username = "tenaant1admin"
tenant1Admin.password = "password"
tenant1Admin.save(flush:true)
}
User.groovy(由 s2-quickstart 生成)
class User implements MultiTenant<User>, Serializable {
...
}
我想要实现的是将超级管理员相关数据存储到默认数据存储中,将其他管理员/用户身份验证信息存储到他们所属租户的数据存储中。
另外,如果我只从 Bootstrap.groovy 创建超级管理员并将其保存到默认数据存储中,我应该怎么做?