からくりがてんこ

IT関連情報、プログラミングに関する作業ログや備忘録を記載していきます。

Railsでベーシック認証!

めちゃめちゃ簡単だった。
before_filterでauthenticate_or_request_with_http_basicを実装する。
ただそれだけ。
いやー、便利ですね。

私の場合は、閲覧用サイトと管理サイトを同じRailsアプリ上に入れてるので、
こんな風にしています。

app
├── assets
├── controllers
│   ├── admin (管理用サイト)
│   │   ├── admin_controller.rb (←ここにベーシック認証実装)
│   │   └── test1_controller.rb (管理テストページ admin_controllerを継承)
│   ├── application_controller.rb
│   └── test2_controller.rb (閲覧テストページ)
├── helpers
├── models
└── views

# app/controllers/admin/admin_controller.rb

class Admin::AdminController < ApplicationController
  before_filter :basic

  private
    def basic
      authenticate_or_request_with_http_basic do |user, pass|
        user == 'user' && pass == 'pass'
      end
    end
end

#config/routes.rb

Rails.application.routes.draw do
  # 閲覧用サイト関連
  get  '/test2' => 'test2#index'

  # 管理用サイト関連
  namespace :admin do
    get  '/test1' => 'test1#index'
  end
end

今日は短いですが、ほなまた。

感謝サイト:
http://altarf.net/computer/rails/2477