【发布时间】:2011-11-23 08:56:23
【问题描述】:
我正在使用具有单租户模式的 Grails 多租户插件。我已经使用 spring security core 插件进行身份验证。我用过域名解析器。用户表在默认数据库中并不常见。每个租户数据库都有自己的用户表。除了以下 2 个问题外,它工作正常。
当客户端(租户)用户尝试登录时,有时它会访问默认数据库并显示“未找到用户”。如果我在刷新页面后尝试(输入 url 并按 CTRL+F5),它会正确登录。
我有一个跨租户的通用用户,具有不同的访问权限。首先,我使用一个租户 URL 在浏览器中打开我的应用程序,使用凭据登录并成功登录。接下来,我在同一个浏览器中打开另一个选项卡,输入第二个 url 和登录凭据。在这里,我可以登录应用程序,但我获得了第一个租户的权限。如果我如上所述注销并刷新页面,或者如果我在登录前刷新页面并尝试,它工作正常。
我调试的时候发现,在解析租户之前,spring security会用之前的db session命中数据库。
我该如何解决这个问题?
【问题讨论】:
标签: grails multi-tenant