トップ > ラボブログ

ラボブログ

« 多様な文字コードのサイトを Bookmarklet で取得するには | メイン | メールでかんたんURL共有「clipmail」のオープンβが開始 »

CakePHP ではてブみたいな長期ログインレスなサービスを実装するには?

あとで読む

スパイスラボ神部です。


前回のブックマークレットのエントリ とも関係あるのですが、Web サービスに1度ログインさせて、そこから長期にわたってログインさせておくためのノウハウというのは結構無いような気がします。とりあえず目の前の会員認証のところを解決する部分について言及しているものはたくさんあるのですが、それらを長期的に運用するにあたっては、あとからわかる問題でもあり、対応が難しかったりもします。


自分は CakePHP を使って実装していることもあり、そのあたりの情報を探したのですがそちらもあまり見あたりません。そうなるとソースコードをあたるしかないのですが、せっかくフレームワークを使っているのにできればソースコードを直接あたりたくはない!というちょっと後ろ向きな姿勢で、ブックマークレットと長期ログインしっぱなしなサービスの設計について考えてみたいと思います。


-ブックマークレットが好きだ! - Favorites!


今回何が問題か


今回何が問題かということを最初に書いておくと、自動ログインさせるさい、自動ログインだけではなく、そのときのリクエスト URL も引っ張り回さなければいけないというところが大きな壁になっています。


そうなんです。自動ログインさせるところは全然簡単なのですが、


・その状態を長期保持させること(セキュリティ的な問題は考慮しつつ)


・自動ログインの課程で、ログイン前のリクエストURLの情報を失うことなくログイン処理を済ませ、またもとのリクエストURLに戻すこと


が必要です。


はてなブックマークでは、とりあえずログインしたらブックマークしたページのURLを失ってしまった、ということも最近体感したこともないので、おそらくはそのへんうまく撮り回していますが、CakePHP の場合はどのようにそのような挙動を実装すべきだろうか、というところが、今回の話題です。


原因の分析


ちょっと自分では追い切れなかったので、CakePHP のフォーラムに助けを求めてみました。


-"自動ログインさせたときの Request_URL の取り回し" フォーラム - CakePHP Users in Japan


対策のシナリオ・・・解決しました!


すると MASA-P さんより、auth.php の関係ありそうな場所をご指摘いただく。周辺のソースコードより、このような方法 にて一時的に元の $url の値を待避させることで対応出来ました。


ちなみに、redgasuki さんからも別の解決案をご呈示いただきました。beforeFilter の中で自動ログインさせるって感じでしょうか。こちらの方がスマートなので、次回はぜひこちらでやってみようと思います。


関連ありそうな情報


自動ログインも含め、関係ありそうな情報をひとつずつ拾っていきます。


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


-"amazonみたいな自動ログイン 初心者向け(?)" フォーラム - CakePHP Users in Japan


-CakePHP Passportコンポーネント Identifyの実装とAuthの分離|Cryptrial


その他もろもろ


-phaのPHPとか自習室 - はてな自習室


-クッキー(Cookie) :: 主要なコンポーネント :: マニュアル :: 1.2 Collection :: The Cookbook


-「情報を保存する」オプションを有効にする(CakePHP修行 #34) - IDEA*IDEA ~ 百式管理人のライフハックブログ ~


ブログ内関連エントリ


-CakePHP の自動ログインの実装について調べてみました。 ( ラボブログ )


まとめ

ということで、今回の問題は無事解決しました!


auth.php の流れも追えたので、今までちょっとちんぷんかんぷんだった AuthComponent の処理も少しわかった気がします。それから Cake の処理上では $controller なんて変数もあるんですね。


なにかの参考になりましたら。

 



関連記事



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

トラックバック

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

コメントを投稿

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

mixiアプリ本
4/22発売!

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



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

書籍情報






検索



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


About

2009年02月18日 18:14 に投稿されたエントリーのページです。

ひとつ前の投稿は「 多様な文字コードのサイトを Bookmarklet で取得するには 」です。

次の投稿は「 メールでかんたんURL共有「clipmail」のオープンβが開始 」です。

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

SEO ブログパーツ  

+ インデックス数計測 +