在Bootstrap.groovy

时间:2017-08-19 10:28:30

标签: grails gorm multi-tenant grails-spring-security

尝试在BootStrap.groovy中将某些数据保存到属于特定租户的数据存储区时,我收到以下错误。

  

org.grails.datastore.mapping.multitenancy.exceptions.TenantNotFoundException:无法在网络请求之外解析租户

我使用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创建超级管理员并将其保存到默认数据存储中,我应该怎么做呢?

0 个答案:

没有答案