forgot_passwordプラグインを使ってみる

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)

とコメントアウトします.サーバを起動してパスワード忘れリンクをクリックすると,

image

ここにメールアドレスを入力すると

image

こんな感じのメッセージが 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をたたくと,パスワード変更画面に移動.

image

パスワード入力すると変更されて以下のようなメッセージが flash[:notice] で表示されます.

image

これでパスワード変更完了.意外に簡単に設定完了するので,これは結構便利.

 
comments powered by Disqus