forgot_passwordとAuthLogicを組み合わせた際に、forgot_passwordでパスワードをリセット後、ログイン画面に遷移しようとすると、既にUserSessionオブジェクトが生成されておりログインしている状態になる。
何故に?と結構悩んだけど、AuthLogicにはユーザ作成時の自動ログイン機能があり、これが有効になっているために、このような現象が発生していた。
なので、AuthLoginの自動ログイン機能をOffにすれば良い。
class User < ActiveRecord::Base acts_as_authentic do |c| c.maintain_sessions = false end end
というふうに、Userモデルのacts_as_authentic宣言のブロックでmaintain_sessionsをfalseに指定することで解決する。