gpt4 book ai didi

ruby-on-rails - Rails 设计可确认 : authorize first sign in at sign up

转载 作者:行者123 更新时间:2023-12-04 03:52:12 24 4
gpt4 key购买 nike

我使用设计 3.0.3

我有一个可确认的模型。

我希望用户在整个 session 期间首先登录,然后当用户回来时,他必须得到确认。这个想法不是通过检查电子邮件来破坏注册导航流程。

另一种选择是在用户被拒绝登录之前给用户 24 小时的延迟。

我尝试使用 after_inactive_sign_up_path_for这边走 :

  def after_inactive_sign_up_path_for(user)
user.confirm!
sign_in(:user, user)
user.confirmed_at = nil
user.save
return user_path(user)
end

但我最后还是被拒绝了。

对此有什么建议吗?

最佳答案

好问题。

在您的 User 模型中,添加此类方法

class User < ActiveRecord::Base
def self.allow_unconfirmed_access_for
1.day # Or any time frame you like
end
end

有一个名为 confirmation_period_valid? 的方法在 Devise::Models::Confrimable .这个方法会检查上面提到的默认不存在的类方法,并且期望为零。

如果您设置了该时间,Devise 将允许该用户在此期限内登录,即使他未被确认。

您不需要对 Controller 进行任何更改。

免责声明:我之前没有使用过这个解决方案,只是通过浏览源代码得出了它。理论上它应该有效。

关于ruby-on-rails - Rails 设计可确认 : authorize first sign in at sign up,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18768269/

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