Rails アプリで認証を処理するために Devise を使用しており、permanent_records を使用してユーザーを論理的に削除しています。私の User モデルのデフォルトのスコープは、削除されていないユーザーです。ユーザーが自分のアカウントを削除 (非アクティブ化) した場合、Facebook と同様に、ログインすることでアカウントを再アクティブ化できるようにしたいと考えています。問題は、Devise が削除されたユーザーを探す方法を知らないため、アカウントが見つからないことです。sessions#create メソッドをオーバーライドすることを考えました
def create
self.resource = warden.authenticate!(auth_options)
set_flash_message(:notice, :signed_in) if is_navigational_format?
sign_in(resource_name, resource)
respond_with resource, :location => after_sign_in_path_for(resource)
end
しかし、これは Warden によって処理されているため、運が悪いようです。深く掘り下げ始めると、物事を壊し始めるのではないかと心配しています。
何か案は?
ありがとう!