ruby-on-rails - 如何配置 Devise 以重新验证用户?

标签 ruby-on-rails devise

当 session 过期并且他/她正在检查订单时,我正在尝试重新验证用户。

当我使用时:

redirect_to "/users/sign_in"

我得到:

Filter chain halted as :require_no_authentication rendered or redirected

在控制台中。

有没有办法配置 Devise 以在关键操作之前启用对用户的重新身份验证?

感谢您的帮助!

最佳答案

如果您考虑重新对用户进行身份验证,并设置一定的 session 超时时间。您可以将设备配置为使用 :timeoutable 选项。

  1. 在 User 模型中添加 :timeoutable devise 属性。

  2. 修改initialisers/devise.rb:取消注释

    config.timeout_in = 30.minutes
    

    您可以将其设置为您喜欢的任何 session 时间。

  3. 重新启动服务器。

干杯!

关于ruby-on-rails - 如何配置 Devise 以重新验证用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23965646/

相关文章:

ruby-on-rails - 强制 Spree Commerce 在生产模式下禁用 SSL

ruby-on-rails - bundler 错误地尝试在生产中安装 "development"和 "test"组 gems

ruby-on-rails - 如何按小时对日期时间进行排序 :Minutes (Ignoring date)

ruby-on-rails - 当 Devise 用户超出我的默认范围时,如何允许他们登录?

ruby-on-rails - 在另一个 Controller 中设计登录表单

ruby-on-rails - 更改 Controller 中 View 的目录

ruby-on-rails - Rails 3 范围内发现给 ActiveRecord::ReadOnlyRecord

ruby-on-rails - 使用Devise的API身份验证(Ruby on Rails)

ruby-on-rails - 如何在 test/fixtures/user.yml 中创建可用于 Devise 4 中集成测试的测试用户?

ruby-on-rails - 为什么我的身份验证电子邮件不起作用?我得到一个 "AuthenticationError"