4
我試圖添加一個非常簡單的策略來設計,它似乎並沒有工作。下面是我想使用我如何添加策略設計
#config/initializers/devise.rb
Devise.setup do |config|
config.orm = :mongo_mapper
config.warden do |manager|
manager.strategies.add(:auto_login_strategy) do
def valid?
params[:auto_login]
end
def authenticate!
u = User.find(:first)
u.nil? ? fail!("No created users") : success!(u)
end
end
manager.default_strategies(:scope=>:user).unshift :auto_login_strategy
end
end
的代碼應該檢查PARAMS一個「AUTO_LOGIN」參數的代碼,如果存在的話,發現它可以在第一用戶在登錄他們。我已經跳過安全措施完全是爲了獲得一個基本的測試案例。當我嘗試登錄到具有before_filter authenticate_user!
(即localhost:3000/test?auto_login=true
)的控制器時,它無法登錄並將我重定向到登錄頁面。我究竟做錯了什麼?
另請參閱此處的答案:http://stackoverflow.com/questions/4223083/custom-authentication-strategy-for-devise – shawn42 2011-02-03 15:07:10