gpt4 book ai didi

ruby-on-rails - 删除 Warden 策略 - 如何确保原始的 devise_authenticable 策略消失

转载 作者:行者123 更新时间:2023-12-04 14:41:47 27 4
gpt4 key购买 nike

我创建了自己的 Warden 策略以与 Devise 一起使用。它与 Devise::Strategies::DatabaseAuthenticatable 非常相似,实际上它继承自它并重新实现身份验证!

但我的问题是我想确保原来的 devise_authenticable Warden 策略已经消失。这不在 Warden 将尝试的策略列表中,因为它实际上是一个安全问题。这可能吗?

最佳答案

根据我的手动检查和测试,devise.rb 初始化器中的这个实现了目标:

config.warden do |manager|
strategies = manager.default_strategies(:scope => :user)
strategies[strategies.index(:database_authenticatable)] = :alternative_strategy
end

策略是这样实现的(不是这个问题的一部分,但我发现那里有相互矛盾的信息,而这个是对我使用 Rails 3.1、devise 1.4.7 和 warden 1.0.5 有用的):

class AlternativeStrategy < Devise::Strategies::Authenticatable
def authenticate!
end
end
Warden::Strategies.add(:alternative_strategy, AlternativeStrategy)

关于ruby-on-rails - 删除 Warden 策略 - 如何确保原始的 devise_authenticable 策略消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7547826/

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