我正在为应用程序使用 Basecamp 样式的子域。使用 Devise,我允许用户通过在 User.rb 中使用以下内容仅访问其子域:
def self.find_for_authentication(conditions={})
conditions[:account_id] = Account.find_by_subdomain(conditions.delete(:subdomain)).id
super(conditions)
end
这将检查以确保与尝试登录的用户关联的帐户与子域匹配。它工作正常。
我的问题是我也想允许超级用户登录......他们不会有关联的“帐户”。相反,它们将在同一“用户”模型上具有“超级用户”布尔列。
有没有办法检查正确的子域或“超级用户”状态?
谢谢!