• 締切済み

Ruby on Rails でのログイン機能について

Ruby on Rails でのログイン機能について あるPCアプリにログイン・ログアウトの機能をつけたいのですが、良い方法がなくて困っています。 現状は、プラグインのrestful_authenticationを使用しています。 しかし、ログアウトをせずにブラウザを閉じたあにページにアクセスすると自動でログインしていまいます。 何か良い方法はないでしょうか? 

みんなの回答

  • hojiyoshi
  • ベストアンサー率61% (8/13)
回答No.1

自動ログインは、restful_authenticationにてcookieを参照することで行われます。 つまり、restful_authenticationにて、cookieを参照しないようにすれば、OKです。 lib/thenticated_system.rbにて、(バージョンによっては、表記が異なるかも) def current_user @current_user ||= (login_from_session || login_from_basic_auth || login_from_cookie) unless @current_user == false end となっているところを、 def current_user @current_user ||= (login_from_session || login_from_basic_auth) unless @current_user == false end とすれば、(login_from_cookieを消す)cookieによる参照が行われなくなります。 restful_authenticationでは、ログインセッション(パスワードとIDを入力したセッション)、 ベーシック認証、cookieの認証情報の順にチェックします。(これらのどれかが通ればOK) このうち、cookie認証をはずしてしまうのです。

関連するQ&A