やることは全体にBasic認証を掛けることとあまり変わらない。対象となるページのコントローラ内でアクションにBasic認証のフィルタを掛ければ良い。例えば、http://railsアプリ/home/indexにBasic認証を掛けたいときは、Railsアプリディレクトリ内の「app/controllers/home_controller.rb」ファイルを編集する。

プログラム

Rails3.1以上

home_controller.rb

class HomeController < ApplicationController
  # Basic認証フィルタを対象アクションに指定
  http_basic_authenticate_with :name => 'Basic認証ユーザ名', :password => 'Basic認証パスワード', :only => :index
  
  def index
  end
end

Rails3.0以下

home_controller.rb

class HomeController < ApplicationController
  # Basic認証フィルタを対象アクションに指定
  before_filter :auth, :only => :index
  
  def index
  end

  # 下記にBasic認証の設定を記述
  private
  def auth
    authenticate_or_request_with_http_basic do |user,pass|
      user == 'Basic認証ユーザ名' && pass == 'Basic認証パスワード'
    end
  end
end

 記述したユーザ名とパスワードでBasic認証を通る事が出来る。

参考文献

 Railsで簡単にBASIC認証をかける方法 – unnecessary words

 Railsで作る認証機能~basic認証