【问题标题】:How to modify session controller to use lockable strategy?如何修改会话控制器以使用可锁定策略?
【发布时间】:2017-07-24 17:56:00
【问题描述】:

我创建了会话控制器,我正在关注this

我已经在模型中添加了可锁定策略并运行rails db:migrate

我想在不使用warden.authenticate 的情况下更新失败的尝试 我阅读了设计文档、可锁定策略并找到了 valid_for_authentication 方法。

我必须如何使用 valid_for_authentication? 如果它为零,我只是跳过登录,但我想更新失败的尝试。我错过了什么方法?

 def create
   @user = User.authenticate(params[:user][:email], params[:user][:password])
   sign_in(:user, @user) if @user&.valid_for_authentication?
   redirect_to root_path
end

【问题讨论】:

    标签: ruby-on-rails devise


    【解决方案1】:

    好吧,我刚刚筛选了相关来源here。据我所知,如果超过登录尝试次数,使用@user&.valid_for_authentication? 将增加failed_attempts 计数器并锁定帐户。所以这应该是开箱即用的。如果你想测试它,我建议使用rails console

    【讨论】:

    • 是的,它必须这样做,但没有任何反应,因为用户在传递错误密码或电子邮件时为 nil
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2016-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多