![](/img/trans.png)
[英]How I can add a custom error key in Devise custom authentication strategy?
[英]How do I add a strategy to Devise
我正在嘗試添加一個非常簡單的策略來設計,但是它似乎沒有用。 這是我嘗試使用的代碼
#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
該代碼應該檢查“ auto_login”參數的參數,如果存在,請找到它可以登錄的第一個用戶,然后登錄。我完全跳過了安全措施,只是使一個基本的測試用例能夠正常工作。 當我嘗試登錄具有before_filter authenticate_user!
的控制器時before_filter authenticate_user!
(即localhost:3000/test?auto_login=true
),它無法登錄並重定向到登錄頁面。 我究竟做錯了什么?
您可能想嘗試將其直接添加到Warden :: Strategies:
class MyStrategy
def valid?...
def authenticate!...
end
Warden::Strategies.add(:database_authenticatable, MyStrategy)
我前一陣子做了,但是最終不需要了。 讓我知道我是否正確記得了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.