设计current_tenant在设计登录失败后重置为’public’

我在SAAS应用程序上使用Devise进行身份validation和Apartment for multi-tenancy支持。

登录失败后,将“重定向”设计到登录页面(Users :: SessionsController Apartment::Tenant.current ,之前在TenantElevator中间件中设置的Apartment::Tenant.current的值将恢复为其默认值“public”。

这种情况正在发生,因为Devise并未实际重定向到登录页面,而是使用新的机架环境调用FailureApp(呈现登录页面)并返回其响应。 新的机架应用程序没有TenantElevator中间件,因此租户未设置在机架应用程序中。

有谁知道如何解决这个问题? 也许我可以将TenantElevator中间件添加到Failure应用程序中?