devise で Basic 認証をする

devise は高機能な Rack ベースの認証システムだそうです。
plataformatec’s devise at master – GitHub

よくあるログイン画面を表示して認証する方式もありますし(これはなんというのだろう?)、いろいろな認証方式を使用することができるようです。

今回、お試しサイトを作る必要があって Basic 認証を使用することにしました。
その方法をググってもいまいちわからなかったので、ここに記載しておくことにします。
しかしながらこれで使い方があっているのかどうか、いまいち自身がないので間違っている場合には、ご指摘をお願いします。

devise では通常以下のようなコードで認証を必須にできます。

class ArticlesController < ApplicationController
  before_filter :authenticate_user!
end

以下のページによると HTTP を使用した認証にはこんな風に書いてあります。
How to: use http authentication – devise – GitHub

def http_authenticate
  authenticate_or_request_with_http_digest do |user_name, password|
    user_name == "foo" && password == "bar"
  end
  warden.custom_failure! if performed?
end

今回はパスワードは固定ではないので、えいやとこれだけにしてみました。

class ArticlesController < ApplicationController
  before_filter :authenticate_user!

  def http_authenticate
  end
end

思った通りに Basic 認証で認証することができるようになりました。