gpt4 book ai didi

ruby-on-rails - 如何将策略添加到 Devise

转载 作者:数据小太阳 更新时间:2023-10-29 07:15:39 26 4
gpt4 key购买 nike

我正在尝试添加一个非常简单的策略来设计,但它似乎没有用。这是我尝试使用的代码

#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)的 Controller 时,它无法让我登录并重定向我到登录页面。我做错了什么?

最佳答案

您可能想尝试将其直接添加到 Warden::Strategies:

class MyStrategy
def valid?...
def authenticate!...
end

Warden::Strategies.add(:database_authenticatable, MyStrategy)

我之前做过这个,但后来就不需要了。让我知道我是否没记错。

关于ruby-on-rails - 如何将策略添加到 Devise,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3582537/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com