ruby-on-rails – Ruby on Rails,Devise:强制用户重新输入特定页面的密码

我正在开发一个使用Rails 4和Devise进行用户身份验证的应用程序.它旨在由客户在客户店面的计算机上使用,用户应始终使用每个商店的用户帐户登录.

但是,由于有些页面我们不希望客户看到,例如/ 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

效果很好.用户必须重新进行身份验证才能访问管理页面,因此他们为该类登录的计算机在没有第二次登录的情况下无法访问.

点赞