特定のcontrollerにBASIC認証をかける

かけたいコントローラに

  before_filter :auth
  
  def auth
    authenticate_or_request_with_http_basic do |user, pass|
      user == 'username' && pass == 'password'
    end
  end

filterとその関数を書く。Rails2.0から使えるらしい。
developmentのwebrickと、
productionの apache2 mod_proxy_balancer+mongrel_clusterにprefixつけてURLがややこしくなっている環境でも動作確認した。



Ruby On Rails ピチカート街道 - Rails 2.0・その7(ベーシック認証が簡単にできる) -
特定のメソッドのみにかけることもできるらしい

before_filter :auth, :only => :limited # limited という名前のメソッドだけ有効にする