我正在尝试使用 Devise the standard one (:database_authenticable) 设置 2 个身份验证策略,如果此策略失败,则对另一个远程服务器执行另一次尝试:remote (如http://4trabes.com/2012/10/31/remote所述-authentication-with-devise/ )
如果我在我的 devise.rb 初始化程序中添加 config.warden 块
config.warden do |manager|
manager.strategies.add(:remote, Devise::Strategies::RemoteAuthenticatable)
manager.default_strategies(:scope => :user).unshift :remote
end
然后 :remote 成为默认策略,但这不是我要找的.. 我想先有 Devise::Strategies::DatabaseAuthenticatable 然后如果它失败了 Devise::Strategies::RemoteAuthenticatable
我知道这是可能的,因为监狱长接受级联策略.. 如https://github.com/hassox/warden/wiki/Strategies所述使用策略..
但我不知道如何实现它......