BitArts Blog

ロードバイク通勤のRubyプログラマで伊豆ダイバー。の個人的なブログ。

Railsで「次回から自動ログイン」がむずい

クッキーの有効期限を設定してセッションを永続化させるところまでは簡単なんだけど、ログインフォームに「次回から自動的にログインする」チェックボックスを設けようとすると途端に話が難しくなる。

当たり前の機能なので「できません」ってのもなんだしなあ。うーん。

とりあえず参考になりそうなURL。

コメント

2007/3/14 11:10 from ツヨシ

みやまえさん、初めまして。

ネット検索でたまたま発見しました。


自動的にログイン処理、私も悩みました。。

難しかったのが、セッションの存続時間を切り替える処理。

そこで、セッションの存続時間はそのままで、「本当に自動でログイン」するようにすればいいんじゃ!と考えてこんな風にしました。

・セッションは通常通り管理(ブラウザ閉じるまで)
・自動的にログインにチェックをつけると、セッションとは別のクッキー(以降クッキー2)を保存させる。
・クッキー2には、適当なパスを生成して入れてあり、そのパスとログイン情報を紐付けてDBに格納してある
・次回アクセスすると、クッキー2にあるパスでDBを引っ張ってきて、出てきたユーザーでログインさせる。
・パスは推測されないよう、ある程度セキュリティを考える、(私は、変動長40~50の16進数でアクセスごとに変更するようにしてます)

RailsじゃなくPHPなので、、何か的外れだったらすいません)

*プログラミング、パラ、ダイビングという、あまりにも見事な共通点に驚きました。せっかくなので書き込みしていきます。

2007/3/14 20:19 from みやまえ

おお!非常に参考になるコメントありがとうございます。

やや面倒ではありますが、一度仕組みをカチッと作っておけば再利用できそうですし、手法としては言語等によらず様々な環境で使えそうです。

どうもありがとうございました。