Я пытаюсь заменить стратегию по умолчанию: пароль для драгоценного камня Padrino-Warden. Как я это понимаю, мне нужно удержать экземпляр менеджера для начальника, поэтому я могу установить стратегии по умолчанию, но я не уверен, как это сделать в файле app.rb.Замените стратегию аутентификации по умолчанию в Padrino-Warden
Прямо сейчас app.rb выглядит так:
register Padrino::Warden
Warden::Strategies.add(:udid) do
def valid?
puts "udid strat"
params[:udid]
end
def authenticate!
user = User.get(:udid => params[:udid])
user.nil? ? fail!("Could not log in") : success!(user)
end
end
Warden::Manager.serialize_into_session do |user|
user.id
end
Warden::Manager.serialize_from_session do |id|
User.get(id)
end
use ::Warden::Manager do |manager|
manager.scope_defaults :default,
strategies: [:password],
action: 'sessions/unauthenticated'
end
Какой из них не работает. Надзиратель среда все еще выглядит как этот
Warden::Proxy:70352196940440 @config={:default_scope=>:default, :scope_defaults=>{}, :default_strategies=>{:_all=>[:password]}, :intercept_401=>true, :failure_app=>Dagis}
Если настроить надзиратель в config.ru он установит правильную среду для надзирателя, но я подозреваю, что сессия промежуточного слой обеспечивается Padrino не очень хорошо работает вместе с Уорден.
Спасибо за ответ. В конце концов, проблема, похоже, заключалась в том, что у парижского надзирателя было слишком много предположений о конфигурации. Удалил его и использовал только Уорден, как шарм. –