Rails 3.1 で の1番簡単な認証方法

ASCIIcastsさんの記事を試してみました。こちらにはRails3.1を用いて複数ユーザに対応させる方法も記述されています。

Rails 3.1 では認証の新機能があります。
おそらく1番簡単な認証方法だと思います。
(HTTPベーシック認証ですが。。。)

やり方はコントローラーを修正して
http_basic_authenticate_withメソッドを使うだけです。

http_basic_authenticate_with :name => "hoge", :password => "hoge!hoge"

この一行を足すだけです。
(name と password はそれぞれ個人で設定してください。)
オプションとして:only :expectなんかをしていすると認証を一部のアクションだけに適応させることもできるみたいです。

やってみるとこんな感じに
f:id:whitech0c0late:20120122235021p:image

正しいユーザ名とパスワードを入力しないとアクセスできなくなりました。
複数ユーザに対応した権限のしくみがいらない時や、サイトの一部のページに制限をかけたい時なんかには便利だと思います。


※実際のアプリではユーザ名とパスワードをコントローラーにそのまま記述するのではなく、設定ファイルに設けるなどしましょう!とのことです。