restful_authenticationが入っていて,セットアップも終わっている前提でインストール.
% cd /path/to/app
% ruby script/plugin install git://github.com/greenisus/forgot_password.git
% ruby script/generate forgot_password user
% rake db:migrate
次はパスワード忘れ用画面へリンクを張ります.
<%= link_to "パスワードを忘れた場合は", "/forgot_password" -%>
今回は application.rb で
before_filter :login_required
としていたので,app/controller/forgot_passwords_controller.rb で,
skip_before_filter :login_required
を追加.さらにここを参考に,
51 |# PasswordMailer.deliver_reset_password(@user)
52 | ForgotPasswordMailer.deliver_reset_password(@user)
とコメントアウトします.サーバを起動してパスワード忘れリンクをクリックすると,
ここにメールアドレスを入力すると
こんな感じのメッセージが flash[:notice] で表示されてメールが送られてきます.
Date: Sat, 22 Nov 2008 00:50:42 +0900 From: ADMINEMAIL To: rust.stnard@gmail.com Subject: [YOURSITE] You have requested to change your password Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8
stnard, you can change your password at this URL:
http://YOURSITE/change_password/5e7fc07cacc121dd1c593d55ee36822e3af6e7aa
メールのURLをたたくと,パスワード変更画面に移動.
パスワード入力すると変更されて以下のようなメッセージが flash[:notice] で表示されます.
これでパスワード変更完了.意外に簡単に設定完了するので,これは結構便利.
comments powered by Disqus