首页 > 解决方案 > 如何在 Rails 中只需要 PW 的情况下进行无用户名登录

问题描述

我知道这根本不是超级安全的,但是如果提供了正确的密码,我将如何使 rails 页面仅可查看。

它适用于基本的博客或“帖子”模型。

对于添加帖子/编辑帖子视图,我只希望访问者在一个字段(密码)表单上提供正确密码时能够查看它们。

用户输入正确的密码,他们可以查看添加帖子/编辑帖子路线。

我打算将 pw 保存为环境变量

标签: ruby-on-rails

解决方案


Rails 的伟大之处在于它内置了各种东西来处理这种情况。在这种情况下,它是ActionController::HttpAuthentication::Basic

使进行 HTTP 基本身份验证变得非常容易。

以下是如何使用它的基本示例,请注意except :index它所说的内容,它index从身份验证中排除了该操作,这可能是您想要的,也可能不是您想要的,您可以根据需要对其进行配置。

class PostsController < ApplicationController
  http_basic_authenticate_with name: "dhh", password: "secret", except: :index

  def index
    render plain: "Everyone can see me!"
  end

  def edit
    render plain: "I'm only accessible if you know the password"
  end
end

推荐阅读