トップ > ラボブログ

ラボブログ

« 画像認識ネタ | メイン | ソーシャルブックマークいろいろ »

CakePHP 1.2 の AuthComponent でユーザ管理

あとで読む

ちょっとした案件で CakePHP のユーザ管理の仕組みを作る必要があるのだけど、どうもまとまった情報がない。


そこで、このブログエントリで ToDo をまとめつつ、各項目を埋めていくことにする。


(2008/7/7追記)常に 1.2 系で開発しているため、今回のまとめは AuthComponent を使ったものにまとめていくよう方針変更。


■CakePHP でユーザ管理をするには?


まずは公式ドキュメント?

-Cookbook :: 1.2 Collection :: マニュアル :: 組み込みのコンポーネント :: Authentication :: AuthComponent Methods


次に基本を解説してくださっているサイト。

-【CakePHP】AuthComponentについてのまとめ 【ざっくり基本編】 | ねねとまつの小部屋


・・・app_controller の下準備の話が出ていないようだけど、それにあたるものを設定しないと動かないんじゃないのかなぁ。そもそも isAuthorized が定義されていませんと言われるし。CakePHP Authentication Component - Tutorial Oneにあるような最小単位の app_controller の設定が必要かも。


でも自分の場合はそれでもうまく行かなかったので、CakePHP Auth Component - Tutorial Two を参考に各コントローラの中に isAuthorized と beforeFilter をつくり、その beforeFilter の中に


$this->Auth->authorize = 'controller';


を追加した上で各コントローラに配置したらうまく行った。


CakePHP の AuthComponent と格闘中 (スパイスボックス・ラボラトリブログ) に詳細を書きましたが、上記部分は不要箇所として抹消します。


■ユーザデータベースの設計は?



-B.2. 認証と継続チェック・・・どうやら定義としては「username」と「password」のようだ。


■登録フォームを用意するには?



-【CakePHP】AuthComponentについてのまとめ 【ざっくり基本編】 | ねねとまつの小部屋・・・ここに詳しく載っている


■確認メールを用意するには?



-[cakephp]ユーザーのメールの認証をする-ひとり開発ブログ・・・まあだいたいこんな感じでしょう


■ログインフォームを出力するには?



-B.2. 認証と継続チェック・・・コントローラとビューがあるようです。


■各ページでログインチェックをするには?



-B. 例:簡単なユーザ認証・・・どうやら app_controller というのを使うと、全ページ共通でいろいろ出来るっぽい。


-CakePHP のおいしい食べ方: いちばん簡単な認証システム


ここはものすごく詰まった。実際にうまく行かなかった最大の理由は isAuthorized() が置き場所によっては undefined function エラーになってしまうこと。よく使うポイントしては、ログイン成功した直後のリダイレクト先のモデルのコントローラになるだろうか、そこの beforeFilter などではチェックできず、なんらかのメソッド( index() など )の中で、$this->Auth->isAuthorized() というかたちで呼ばないといけない。なんだかピンポイント過ぎる・・・。もう少しエラーメッセージが親切だったらいいのに。この件に関しては、1.2, AuthComponent: Call to a member function isAuthorized() on a non-object - CakePHP | Google グループ を参考にした。


■自動ログインさせるには?



-CakePHP Note:自動ログインその1


※(2008/08/07追記)ここのやり方で、本当にうまくいっています。


ついでに、CakePHP Note:自動ログインその2CakePHP Note:AuthComponentも必読ですね。


-codeなにがし::CakePHPで自動ログインコンポーネント

■ログアウトさせるには?



CakePHP Note:自動ログインその1に、やり方が併せて書いてあります。


■ユーザ情報編集ページを作るには?



■ユーザ退会ページを作るには?



■実例



"Cakeを使ったCMS土台のまとめ" フォーラム - CakePHP Users in Japan・・・このへんの実例を見ちゃうのも早いかも


CakePHP プログラマーズ リファレンスガイド・・・たいていのことはここでわかるらしい(via. CakePHP :: [コエカタマリン MX 2007]

 



関連記事



ブックマークに追加する この記事についてTwitterでツイート

トラックバック

このエントリーのトラックバックURL:
http://www.spicebox.jp/cgi-bin/mt/mt-tb.cgi/380

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

mixiアプリ本
4/22発売!

mixiアプリをつくろう!
OpenSocialで学ぶ
ソーシャルアプリ



(株)スパイスボックス
神部 竜二(著)

書籍情報






検索



神部竜二
ブログ執筆者の一人です。ネットの新しい話題や Web まわりのプログラミング、Web 広告について書いていきたいと思います。


About

2008年07月01日 18:35 に投稿されたエントリーのページです。

ひとつ前の投稿は「 画像認識ネタ 」です。

次の投稿は「 ソーシャルブックマークいろいろ 」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

SEO ブログパーツ  

+ インデックス数計測 +