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

ウェブサイトの中で認証が必要なページを作るのは今や必需品となりましたよね。
ということでここではいろいろな認証を解説していこうと思います。

Rails3.1以上でのbasic認証

Rails3.1から簡単にbasic認証ができるようになりました。
※basic認証は簡単にページの利用制限を行うことができます。

今回はnameをgeekz、passwordをpassと設定しています。
app/controllers/????_controller.rb

class ????Controller < ApplicationController
  http_basic_authenticate_with :name => "geekz", :password => "pass"
  def index
  end
end

たったこれだけで、 ????Controllerを使うページは全てbasic認証がかるようになります。

Rails2.0~3.0以下の場合のbasic認証

3.1より前のバージョンではフィルターを使って行います。
もちろんRails3.1でも使えます。
今回も同じようにnameはgeekz、passwordはpassで行っています。
app/controllers/????_controller.rb

class ????Controller < ApplicationController
before_filter :base
  def index
  end
private
  def basic
    authenticate_or_request_with_http_basic do |user, pass|
      user == 'geekz' && pass == 'pass'
    end
  end
end

これで完了です。


コメントする