5
アプリケーションコントローラで、すべてのユーザーがサイトにアクセスする前にログインする必要がある簡単な方法が必要です。私はDeviseを認証に使用しています。Rails:アプリケーションコントローラでログインを強制し、ログイン以外のすべてのリクエストをリダイレクト
私が試した:
class ApplicationController < ActionController::Base
...
unless user_signed_in?
redirect_to login_path
end
...
end
をこれが正常に皆をリダイレクトしますが、問題は、それはまた、新しいユーザーセッションを作成するために必要なPOSTリクエストを防ぎです。
私の質問は、ログインビューとログインの投稿要求以外のすべてのリクエストをブロックする方法ですか?
もちろんです。私はこれを多くのコントローラー(ただしすべてではない)に持っています...サイト全体を一時的にロックして、アプリケーションコントローラーが通常のコントローラーであるかどうかを十分に考えない方法については、あまりにも難しく考えていました。ありがとう:) – Andrew
ほとんどの場合、その行をApplicationControllerにスローし、ホワイトリストにするアクションのbeforeフィルタをスキップします。 – pcg79