Ruby Rails,设计:强制用户为特定页面重新输入密码

Ruby on Rails, Devise: Force user to re-enter password for the specific pages

我正在使用 Rails 4 开发一个应用程序并设计用于用户身份验证。它旨在供客户在我们客户店面的计算机上使用,并且用户应始终使用每个商店的用户帐户登录。

但是,由于有些页面我们不希望客户看到,例如 /admin,我们决定用户必须重新输入密码(仅密码,而不是用户名和密码) ) 第一次访问特定页面时,即使他们已经登录。

如何强制用户为特定页面重新输入密码?

{我正在做一个类似的应用程序,旨在支持小组活动。因此,领导者登录每台计算机,参与者只需选择他们的用户名即可。为了保护领导者配置页面,我做了以下操作

    before_action :re_authenticate,  only: [:admin_functions]
    private      
    def re_authenticate    
       authenticate_or_request_with_http_basic('Administration') { |username, password|
          username==current_user.username && current_user.valid_password?(password)
        }
   end

效果很好。用户必须重新验证才能访问管理页面,因此他们已登录 class 的计算机必须再次登录才能访问。