![](/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.