fc2ブログ

2023.08 «  - - - - - 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 » 2023.10
TOP > Acts as authenticated 体験記 その3【画面表示を見てみる】

 ← Acts as authenticated 体験記 その4【日本語化をしてみる】 | TOP | Acts as authenticated 体験記 その2【必要ファイルを自動生成】

Acts as authenticated 体験記 その3【画面表示を見てみる】 

2007年11月15日 ()
注:今回は、こうすれば出来ますよ!と順序立てて書いたものではなく、指向を変えて、私はこのように実験しました、というまさに恥ずかしい部分まで見せる生のドキュメンタリー体験記を書きます。ですので、まどろっこしいハズ!ご了承ください。


その1【取り敢えずインストール】
その2【必要ファイルを自動生成】
その3【画面表示を見てみる】
その4【日本語化をしてみる】
その5【ログイン許可・不許可】
その6【まとめ】



画面はデフォルトの状態ではどうなっとんのよ、と早速アクセスすることにしました。


# script/server



http://localhost:3000/account



まあ、なんで account という URI を指定するか、というと言わずとしれたコントローラ名が account だからです。

言い換えると、app/controllers/account_controller.rb というファイルがあるからです。と、また先生口調になってみる。

それにアクセスしたら、突然 URL が http://localhost:3000/account/signup になりました。




どうやらリダイレクトされた模様。config/routes.rb ファイルは特にいぢられてないようなので、コントローラ内で何かのリダイレクトが走ったと考えられます。

http://localhost:3000/account にアクセスすると、ror の機能で、コントローラの index メソッドが呼ばれることになっています。

app/controllers/account_controller.rb から抜粋

  def index
    redirect_to(:action => 'signup') unless logged_in? || User.count > 0
  end



今、users テーブルには誰も登録されていませんから、signup にリダイレクトされるという訳なのですね。

と、解説がいちいち詳しすぎる?

でもいいのです、今回はだらーんと力を抜いてやってます。

じゃあ、この画面でユーザを新規登録してみようっと。

最初はわざと間違えて、2つめの確認用パスワードを1つめのパスワードと違うのを入れます。

と、案の定エラーメッセージがでました。




そこで、今度は2つのパスワードを一緒のモノを入れます。




そして、submit ボタンを押します。えいっ。




わぁ、訳分からん詩が表示されました。一瞬 LAN 内クラッキングでも起きたのかと思いました。

詩は、韻を踏んであって、ちょっといい感じです。Woman ... のくだりは切ないですね。

などと、話が横道にそれてしまうのでした。

users テーブルにも、今登録したデータが入っているようですし、このパスワードは暗号化されて DB へ保存されますね。強度とかは、いかほどに?

さて、強度の話は分からずじまいにしておいて、他にどんなアクションがあるのか見ていきます。

今までは、index と signup アクションを見ました。

account_controller には、その他に、login アクションと logout アクションが定義されています。

login アクションは、ログイン画面を表示、logout アクションは、ログアウトしてから index アクションにリダイレクトしています。

ほうほう、これで道具はそろったという訳ですな。

と思ったら、account_controller にこういうコメントとコードが書いてありました。

# Be sure to include AuthenticationSystem in Application Controller instead
include AuthenticatedSystem
# If you want "remember me" functionality, add this before_filter to Application Controller
before_filter :login_from_cookie



キャー、application controller にカット&ペーストしろよ、と強要しています。

remember me 機能も、一応使う、という方向にしておくということで、こちらも application controller にカット&ペーストします。

というわけで、以上の 4 行を、app/controllers/account_controller.rb から、app/controllers/application.rb にカット&ペーストします。

ちなみに、application.rb つーのは、コントローラ全てに共通した処理を行うためのスーパーコントローラみたいなものです。

app/controllers/application.rb

class ApplicationController < ActionController::Base
  # Pick a unique cookie name to distinguish our session data from others'
  session :session_key => '_MyLogAuth_session_id'
  # Be sure to include AuthenticationSystem in Application Controller instead
  include AuthenticatedSystem
  # If you want "remember me" functionality, add this before_filter to Application Controller
  before_filter :login_from_cookieend

end



これで落ち着きました。ハァ。

次回は、日本語化でもがんばってやってみるか!と考えています。

【広告】

[2007.11.15(Thu) 00:42] generator/pluginTrackback(0) | Comments(0)
↑TOPへ

 ← Acts as authenticated 体験記 その4【日本語化をしてみる】 | TOP | Acts as authenticated 体験記 その2【必要ファイルを自動生成】

COMMENT

COMMENT POST















管理者にだけ表示

 ← Acts as authenticated 体験記 その4【日本語化をしてみる】 | TOP | Acts as authenticated 体験記 その2【必要ファイルを自動生成】