rails3.0.4とauthlogicを使用しているサイトがあります。フロントエンドを処理するためにngnixを使用し、nginxとユニコーンの間でキャッシングを行うためにsquidを使用しようとしています。ログインしたユーザーのページをキャッシュしないようにしています。これはuser_credentials
Cookieの追跡を介して行っていますが、authlogicが実際にはセッションに保存されている値に基づいて認証を行っているためです。ユーザー(またはブラウザー、ありがとうsafari)がそのCookieを削除したり、ログインしたユーザーが自分のページをキャッシュに入れたりして、人々を悲しませることは可能です。
では、セッションではなくuser_credentialcookieでauthlogicを認証するにはどうすればよいですか。
これが関連するコードだと思います:
# Authlogic gem
acts_as_authentic do |config|
config.transition_from_restful_authentication = true
config.transition_from_crypto_providers = Authlogic::CryptoProviders::Sha1
config.validates_length_of_password_field_options = {:on => :update, :minimum => 6, :if => :has_no_credentials?}
config.validates_length_of_password_confirmation_field_options = {:on => :update, :minimum => 6, :if => :has_no_credentials?}
end