Ruby on Rails 2.1.x Tutorialをやってみるの本管理CGIに認証機能をつけてみる。参考としたサイトは以下のとおり。 AVNet Labs » Blog Archive » Restful Authentication with rails 2 てらじろぐ:restful_authentication でメール認証するぞ SHOWZINE » restful_authenticationによるユーザ認証を実装 ZDNet Japan Blog:あとで読むRailsのススメ:restful_authentication idesaku blog:restful_authenticationを触ってみた kaeruspoon:restful_authenticationを使ってみた 上記のエントリー群を読む限り、Railsの標準認証プラグインとして使われるのはrestfu
前回からの続き。現状のTodoでは、ログインしたユーザーは共通のTodoを利用する仕様になってしまっている。これをユーザー別のTodoに変更したい。restful_authenticationは、そのユーザーが認証された状態かどうかをチェックして、そのユーザーが誰であるかをcurrent_userで確認できるようにしてくれている。あとはTodoをユーザー別に管理できるように対応すれば良さそう。 ユーザー別の管理 まず思いついたのが、モデルにhas_manyとbelongs_toを設定すること。 # ---------- app/models/user.rb ---------- require 'digest/sha1' class User < ActiveRecord::Base has_many :todos ...(中略)... # ---------- app/models/to
restful_authenticationを--statefulオプションで利用すると、2つのstate_machineが用意されていることに気付く。一つは、以前から利用しているRailsのプラグインacts_as_state_machine。で、もう一つがgemでインストールするaasm。aasmってacts_as_state_machineの頭文字だよな?と思いながら、デフォルトではacts_as_state_machineの設定になっているし、acts_as_...を身近に感じるので、aasmの方は今まで無視していた。 ところが、インストールしたacts_as_state_machineの更新日時を見てみると2006-11-13と相当古い...。1年半以上更新されていないことになる。(でも、特に不便は感じないのだけど。)一方、aasmのページを見てみると、今も活発に更新されている。
restful_authentication プラグインのメモ。検証は Rails 2.0.2 で行っています。 プラグインについて RESTful なユーザ認証を行う事ができます。 通常のセッションを用いた認証、ベーシック認証、 Cookie による認証が利用できます。特に Cookie を用いた認証は、ブラウザを閉じた場合でも有効期間内なら有効になります(設定有効時)。 インストール プラグインをインストールします。Rails 1.2.6 以降でないと動作しないので注意して下さい。 また、 authenticated_system.rb は RAILS_ROOT/lib 以下に展開されます。 ruby script/plugin install http://svn.techno-weenie.net/projects/plugins/restful_authentication/追記
最近、restful_authenticationで試行錯誤していて感じたこと。restful_authenticationはユーザー認証に関する必要最小限の機能を提供してくれるが、実際に運用できるレベルに仕上げるには、要点を押さえた的確な修正が必要になる。ユーザー認証のscaffold的な位置付けだろうと。 生成されるソースコードはとても簡潔にまとめられていて、読み易い。しかし、いざ自分好みのログインに修正しようとすると、実にいろいろな手段があり、どのような仕組みにするか本当に迷ってしまう。 例えば、以前の日記で試したパスワード忘れに対応する方法も、今振り返ってみれば最悪の例だ...。アクティベーションとパスワード忘れの処理が混同しているし、修正の手順もセキュリティ的に中途半端。実装の仕方もせっかくのrestful_authenticationのRESTfulなルールを無視している。やは
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く